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%的时间,然后滚滚而来的需求和层出不穷的轮子, ...

微信小程序开发总结

2018年10月14日
/ /
miniprogram
这几个月公司的小程序开发工作落在了我们身上,紧锣密鼓的开发完毕之后,有必要总结一些开发过程中的坑和一些奇怪的解决办法。 一个小程序页面包括以下几个部分 page ├── page.wxml ├── page.js ├── page.json └── page.wxss └── (utils.wxs) 其中wxs不必须,位置也可以随意放置,跟随全局或页面均可。下面会按照不同坑位解释。 WXML WXML(WeiXin Markup Languag ...

入了DK3001

2018年08月19日
/ /
dk3001
一转眼已经1个两个两个半月没有更新了。最近工作比较忙,生活也紧锣密鼓……生娃之后奶爸的日子大家懂得。 但是,就算再忙也要给自己买点玩具,我入DK3001的耳塞,因为觉得IE60有时候听的不够劲儿。半盲狙,在音响店试听了一耳朵,当时对鸟塞感觉一般般,舒尔平平淡淡,铁三角无感,倒是对达音科的两款颇有好感:隼和旗舰DK3001。而且隼的做工真的不错,完全不像10 ...

不同浏览器的autocomplete特性

2018年06月01日
/ /
autofill
自动完成(autocomplete)允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器会基于之前键入过的值,显示出在输入框中填写的选项。 autocomplete属性适用于form表单,以及表单内的input类型:text, search, url, telephone, email, password, datepickers, range 以及 color。 通常,自动完成是浏览器默认启用的,但是对于用户来说,明显是有隐私风险 ...