摘要: 问题背景 今天面试的时候,被问到这么个问题。在html5的history情况下,pushstate和replacestate是无法触发pushstate的事件的,那么他是怎么做到正确的监听呢?我当时给懵住了,对哦,这怎么监听的到吗? 于是今晚在旅馆,啊,没电脑啊,只能手机打开google搜索了,好像 阅读全文
posted @ 2018-04-27 21:11 晚安呢太阳 阅读(5404) 评论(0) 推荐(0) 编辑
摘要: 本人对于Diff算法也并未做深入研究,只是大概的看过一些博文了解了些原理,但依然有了如下疑问 : 对于vdom所表示的对象中,若在该oldObj和newObj之间,发现一个元素节点所表示的子对象不见了,React就直接简单粗暴的做了remove DOM处理,这是否不太合理?个人认为,应当多考虑一些环 阅读全文
posted @ 2018-04-18 16:26 晚安呢太阳 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 模式应用场景 一个方法内的某个行为,在不同的场景中,该行为可以有不同的实现方案,策略模式就是把这些算法从该方法内分离开来单独一个个实现,该方法只管根据场景使用对的某个算法就好 个人近些日子来项目中的运用 react中的render方法中的一个应用 看下面这段代码,这边若不用策略模式,我以往的代码方式 阅读全文
posted @ 2018-04-12 13:32 晚安呢太阳 阅读(564) 评论(0) 推荐(0) 编辑
摘要: 这是一篇搁置了很久的博文,个人实现的关键代码如下: 我的一些思路 其实只要拿占列数去除以栅格总数,就能得到要offset和col的宽度 sass很强大,通过遍历,省去了大量的css代码 个人认为待改进的 12不是写死的,而是可以是任意数目 boostrapv4是用flex实现的网格系统,考虑渐进增强 阅读全文
posted @ 2018-04-11 15:59 晚安呢太阳 阅读(133) 评论(0) 推荐(0) 编辑
摘要: React组件rerender的真正条件 1. 当前组件的State中的属性改变时且当前组件的shouldcomponentupdate返回true,那么当前组件会rerender 2. 组件的props中的任一属性的值有变化(即使这个任一属性的值是对象,变化的仅仅是该对象中的某属性的值,此刻也算p 阅读全文
posted @ 2018-04-02 18:33 晚安呢太阳 阅读(7617) 评论(0) 推荐(0) 编辑
摘要: 个人理解的应用场景 举个例子,比如想要创建各种类型的车的实例,车的类型有很多种,但创建每种类型车的接口定义可能是一样的,就用到了此模式 相关概念的通俗解释 1. 上述例子中接口的定义叫builder 2. 接口到每种类型的车的具体实现叫concrete builder 3. 真正用于创建车的类叫di 阅读全文
posted @ 2018-03-12 22:04 晚安呢太阳 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 问题背景 在工作中遇到了这样一个场景,写了个通用的弹窗组件,却在同一个页面中多次使用了该组件。当点击打开弹窗时,可想而知,一次性打开了多个弹窗,而业务需求只需要打开一个。 我个人在解决问题过程中的一些已废弃思路 我首先想到的是能不能像mobx的@observer一样用一个譬如@singleton来修 阅读全文
posted @ 2018-03-12 21:45 晚安呢太阳 阅读(3669) 评论(0) 推荐(0) 编辑
摘要: 遇到的一些小坑 React组件内部想要调用store里的action方法,得如下图,否则不会调用(这个现在看来好像不对,待重新检验) React组件内部想要调用store里的action方法,得如下图,否则不会调用(这个现在看来好像不对,待重新检验) 而不能如下图 组件中调用改变store的acti 阅读全文
posted @ 2018-02-26 13:43 晚安呢太阳 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 确定盒子的基线的规则 1.1 确定inline-block的基线 The baseline of an 'inline-block' is the baseline of its last line box in the normal flow, unless it has either no in 阅读全文
posted @ 2018-02-13 17:15 晚安呢太阳 阅读(538) 评论(0) 推荐(0) 编辑