RN知识

RN-性能优化 (四)

2017-04-25  本文已影响147人  精神病患者link常

前人种树后人乘凉
原文地址

一、优化Component

很多人在定义一个class时都会去继承Component,这并没有错,但是如果一个子组建也继承了Component,那么当父组建render时也会导致子组建的render,怎么解决呢?其实很简单只需要我们的子组建去继承PureComponent即可。个人建议自定义的class都可以去继承PureComponent从而避免不必要的render。

注意子组件需是静态的

二、优化方法的创建

内部方法的定义应该使用

onPress=(()=>{
  do something
})

避免创建多个fun

三、善于使用shouldComponentUpdate

通过shouldComponentUpdate的返回结果我们可以去控制什么时候应该render,什么情况应该render。

注意静态组件可以直接

shouldComponentUpdate(){
  return false
}

四、使用Animated去处理一些简单的动画

我想应该会有很多小伙伴遇到这样的问题,切换不同的state改变某个view的height/width,是不是很多小伙伴都会用state去控制height/width。并不是说这样是完全不对,只是这样耗费性能,因为你的state的改变会触发render,而对于一个过程来说,这样的render次数是我们不愿意看到的,那该怎么解决呢?其实大家可以使用Animated去代替state,Animated封装了一系列优雅的处理函数,完全可以实现你想要的效果,使用方法官方有介绍

上一篇下一篇

猜你喜欢

热点阅读