很多细心的开发者应该已经注意到了,
    在 Taro 编译到小程序端后,组件的 constructorrender 默认会多调用一次,表现得与 React 不太一致。

    这是因为,Taro 的组件编译后就是小程序的自定义组件,而小程序的自定义组件的初始化时是可以指定 data 来让组件拥有初始化数据的。开发者一般会在组件的 constructor 中设置一些初始化的 state,同时也可能会在 render 中处理 stateprops 产生新的数据,在 Taro 中多出的这一次提前调用,就是为了收集组件的初始化数据,给自定义组件提前生成 data,以保证组件初始化时能带有数据,让组件初次渲染正常。

    所以,在编码时,需要在处理数据的时候做一些容错处理,这样可以避免在 constructorrender 提前调用时出现由于没有数据导致出错的情况。