Vue-组件的data属性为什么必须是函数?

2019年07月13日
/ /
vue-logo
一般在公司环境使用中,各种前端框架都会用一下,因为不同框架理念和使用场景有些许区别,有的重规模化,有的追求轻便易上手;有的模块化程度很高,有的通常全部写一起;有的规则安排的明明白白,有的又需要各种语法糖……虽然最近几个月工作特别忙,但是还是拿出了一点点时间来扩充一下Vue的背景知识。 为什么组件的data属性必须是函数? 在自定义模块的新手上路 ...

React-事件补遗-Proxy

2019年05月08日
/ /
react-hexagon
上一篇留了一个代理Proxy没覆盖到,因为之前没怎么使用过,所以这篇补充一下相关内容。 Proxy用于定义基本操作自定义行为(比如:属性查找get,赋值set,枚举、函数调用等)。使用Proxy代理,可以在目标对象(target)进行操作之前,进行过滤和额外操作。 Proxy基本使用 1 var p = new Proxy(target, ...

React-事件的注册和触发

2019年03月29日
/ /
react-hexagon
事件也是React里使用频率很高的操作,各种onClick、onFocus/onBlur、onChange、onSubmit都是经常使用的。事件触发同样是update,也会使用ReactUpdates.batchedUpdates流程,所以会用到前面文章中的内容。 还是以之前的Hello为例,这次给div添加onClick函数事件,函数名为clickFunc。完整代码如下 12345678910111213 ...

React-简单组件到浏览器DOM的渲染

2018年12月30日
/ /
react-hexagon
在【React-简单组件的挂载(mount)过程】的2.6)里提到了组件最后从ReactElement到HTML-DOM的转换过程,但是没展开。本周趁着还熟,这篇填坑。 首先,简单画一下本篇的数据结构 前面挂载一篇说过,从ReactCompositeComponent一步一步调用mountComponent,最后会到最内层的ReactDomComponent.mountComponent,本篇直接从这里往下面走。 ...

React-函数setState的执行

2018年12月23日
/ /
react-hexagon
setState是React里使用频率最高的的一个操作,React的状态更新,不同于vue的直接this.data设置,需要都要通过这个函数进行。 在使用中,总结setState的3个特性: 1、异步更新,即调用setState之后立刻获取更新值,通常不会取到最新的值; 2、合并更新,例如在不同的生命周期(componentWillMount、omponentDidMount等)进行的状态更新,最终只会触发一次; 3、可 ...

React-函数batchedUpdates和Transaction执行

2018年12月14日
/ /
react-hexagon
在【React-简单组件渲染(render)过程】里,留了两个小坑:BatchingStrategy的运行机制和transaction的运行机制。这几天抽时间继续做一些记录。 在看batchedUpdates的执行时,常常会有错觉,执行的时候有并发操作存在。后来想想,应该是里面的一些概念,比如:池(pool)、事务(transaction)。还有一些变量定义,比如:isInTransaction(是否处在事务中?如果 ...

React-简单组件的挂载(mount)过程

2018年12月10日
/ /
react-hexagon
上一篇大致看了一下简单组件渲染过程。走到internalInstance.mountComponent,没有往里细看,因为ReactCompositeComponent.mountComponent是个比较复杂的函数,主要做了几个工作:初始化组件、渲染标签(markup)、注册监听事件,react生命周期函数也在这里执行,所以这里单独记录。 本篇依然沿用之前的例子,使用简单组件,即根节点内只包含一层class类型的组件 ...

React-简单组件渲染(render)过程

2018年12月01日
/ /
react-hexagon
没有需求就没有任务,没有任务就不想看代码。但是对于分配了代码讲解任务的人来说,终于还是有不得不看代码的“任务”。 C或者Java等“严谨语言圈”对阅读源码有一种谜样的执着,仿佛大神都是从阅读源码一步一步修炼过来的。但是对于“不严谨”的JavaScript语言圈来说,却明显缺少这样的执着。究其原因,各端兼容占了60%的时间,然后滚滚而来的需求和层出不穷的轮子, ...