博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RN基础
阅读量:6701 次
发布时间:2019-06-25

本文共 1037 字,大约阅读时间需要 3 分钟。

生命周期

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.textinput

android 默认有下划线 ios 无

2.text

android 默认背景透明 ios 无

text 在ios下无法设置圆角,必须套view

3.overflow:hidden

android 没效果 超出部分不可见  ios 可以

4.image的 borderTopLeftRadius

ios 不可以 可以外面 套一层

5.scrollview 

    scrollEventThrottle ios 默认16  android 默认0

    嵌套listview时  list 滑动 ios 有些时list滑   android 是 先滑scrollview 滑完了 在 滑 list
    建议修改布局直接使用list  套所有

6. statusbar

android 可定制沉浸  ios 默认 沉浸

性能优化

一.简单粗暴 setNativeProp

它直接在底层(DOM、UIView等)而不是React组件中记录state

(这样会使代码逻辑难以理清)

二、使用setState => shouldComponentUpdate

三、清楚console.log

四、InteractionManager.runAfterInteractions先动画后渲染数据 TouchableOpacity

五、使用transform: [{scale}]调整容器(图片)的宽高

六、点击变化,将作何的动画包装在requestAnimationFrame处理器中

转载地址:http://hnwlo.baihongyu.com/

你可能感兴趣的文章
safari的一些问题
查看>>
面试官问我:平常如何对你的 Java 程序进行调优?
查看>>
Java中对象和引用的理解
查看>>
如何有效抓取SQL Server的BLOCKING信息
查看>>
bash中(),{},(()),[],[[]]的区别
查看>>
Oracle PL/SQL匿名块(三)
查看>>
模拟实现strstr
查看>>
解决Office系列安装不上的办法
查看>>
vimdiff的简单使用
查看>>
我的友情链接
查看>>
工作的习惯,看到好收藏下
查看>>
利用ACS来实现AAA服务
查看>>
国内开源镜像站
查看>>
vb.net中东软医保接口的调用
查看>>
java 消息摘要算法MD
查看>>
Web Service security UserNameToken 使用
查看>>
I/O重定向
查看>>
linux实例 批量修改图片文件名
查看>>
beta冲刺第三天
查看>>
工作中常用的但是又容易忽略的问题
查看>>