生命周期1. getDefaultProps() 初始化一些默认的属性2. constructor() 状态进行初始化3. componentWillMount() render() 之前4. render() 渲染组件5. componentDidMount() 组件状态改变后执行一般会将网络请求等加载数据的操作,放在这个函数里进行,来保证不会出现UI上的错误。6. componentWillReceiveProps(nextProps)当组件接收到新的props时,会触发该函数7. shouldComponentUpdate() 控制状态改变后渲染视图8. componentWillUpdate() 视图即将改变9. componentDidUpdate() 视图已经改变后执行10. componentWillUnmount() 即将销毁安卓和ios的一些兼容问题1.textinputandroid 默认有下划线 ios 无2.textandroid 默认背景透明 ios 无text 在ios下无法设置圆角,必须套view3.overflow:hiddenandroid 没效果 超出部分不可见 ios 可以4.image的 borderTopLeftRadiusios 不可以 可以外面 套一层5.scrollview scrollEventThrottle ios 默认16 android 默认0 嵌套listview时 list 滑动 ios 有些时list滑 android 是 先滑scrollview 滑完了 在 滑 list 建议修改布局直接使用list 套所有6. statusbarandroid 可定制沉浸 ios 默认 沉浸性能优化一.简单粗暴 setNativeProp它直接在底层(DOM、UIView等)而不是React组件中记录state(这样会使代码逻辑难以理清)二、使用setState => shouldComponentUpdate三、清楚console.log四、InteractionManager.runAfterInteractions先动画后渲染数据 TouchableOpacity五、使用transform: [{scale}]调整容器(图片)的宽高六、点击变化,将作何的动画包装在requestAnimationFrame处理器中
RN基础
February 27, 2019 · 1 min · jiezi