1、避免不必要的渲染
属性值没有改变时候不需要重新渲染,通过网页链接 + shouldComponentUpdate,或者React.memo来实现。
2、Fragment
避免不必要的标签,如果想返回一个标签列表,可以使用React.Fragment包裹。
3、事件回调不使用匿名函数或者bind
如果事件函数用匿名函数或者bind的函数,每次render时候都要解绑旧的函数,绑定新的函数,这时不必要的,类组件中,事件回调应该作为组件的一个属性;函数组件中可以用useCallback实现每次返回同一个函数。
4、不要用内联样式,防止解析操作耗时。
5、不要在render中setState,可能造成死循环。实际上render函数应该是个纯函数,没有任何副作用。
6、优化条件渲染
让条件分支中只包含需要改动的元素,不包含不需要改动的元素,防止diff子节点和更新节点时候增加不必要的操作,消耗性能。
更多技术分享,请关注云和数据。
属性值没有改变时候不需要重新渲染,通过网页链接 + shouldComponentUpdate,或者React.memo来实现。
2、Fragment
避免不必要的标签,如果想返回一个标签列表,可以使用React.Fragment包裹。
3、事件回调不使用匿名函数或者bind
如果事件函数用匿名函数或者bind的函数,每次render时候都要解绑旧的函数,绑定新的函数,这时不必要的,类组件中,事件回调应该作为组件的一个属性;函数组件中可以用useCallback实现每次返回同一个函数。
4、不要用内联样式,防止解析操作耗时。
5、不要在render中setState,可能造成死循环。实际上render函数应该是个纯函数,没有任何副作用。
6、优化条件渲染
让条件分支中只包含需要改动的元素,不包含不需要改动的元素,防止diff子节点和更新节点时候增加不必要的操作,消耗性能。
更多技术分享,请关注云和数据。