记录一些 react的相关tips

  1. 组件的props.children其实本质是一个数组,JSX会把插入表达式数组中的JSX一个个罗列显示(map函数渲染列表的核心原理)。

  2. 推荐在有复杂状态的组件上使用key属性,确保根据key在合适的时机销毁和重建组件,提供性能(http://www.tuicool.com/articles/UVvaMz)。

  3. 更新style时不要直接去修改原始style对象,这会引起react的警告,更好的办法是使用一个新的style对象。
    (http://stackoverflow.com/questions/33295615/why-was-mutating-style-deprecated)
    这里写图片描述

  4. ref属性有两种形式,一种设置字符串,一种设置回调函数。字符串形式的ref,由于是字符串引用,所以无法知道组件何时被卸载,易造成内存泄漏。回调函数形式的ref,当组件挂载/卸载/渲染时,均会触发函数的执行。当组件卸载时,把ref指向null,从而可以防止内存泄漏

  5. setState({}, cb); react会在setState完成后触发回调函数cb,从而可以拿掉更新后的state。

6.原型链
React推荐的构造类组件的写法是 class Card extends React.Component{};
从new Card()开始这条原型链如下:

1
2
3
4
new Card()
→ Card.prototype
→ React.Component.prototype
Object.prototype

-------------本文结束 感谢您的阅读-------------