1、声明方法函数时,要尽量使用 方法名= ()=> {},这样会减少方法引用的次数。然后在调用的时候,直接使用this.方法名即可。
2、只有 shouldComponentUpdate 返回true的时候才会更新页面。。比较this.props的isClicked属性(属性看自己情况而定)与newProps的isClicked属性是否相同。
shouldComponentUpdate(newProps, newState){
if(swllowArrayCompare(this.props.isClicked, newProps.isClicked)){
renturn true;
}
return false;
}
3、使用属性的时候,如果不需要重新渲染的属性,直接在state外面声明即可,调用的时候 this.属性名,这样就不会调用render函数了,不会重新渲染界面。
4、在render中使用const {属性}= this.prps,直接使用属性名就可以调用。这样可以不用再state里面使用了,减少了渲染的次数。
5、推迟render的过程,在数据请求完之后,使用
InteractionManager.runAfterInteractions( ()=> {this.setStates({})})
6、使用mbox,只改变需要改变的,不重新全部渲染。
(可参照http://www.jianshu.com/p/bbf9837443f3)