每当组件第一次加载到DOM中的时候,这在React中被称为挂载
同样,每当组件生成的这个DOM被移除的时候,这在React中被称为卸载。
关于setState()这里有三件事情需要知道
不要直接更新状态
例如,此代码不会重新渲染组件:
// Wrong this.state.comment= ‘Hello’;
应当使用setState():
// Correct this.setState({comment: ‘Hello’});
函数构造的英文唯一能够初始化this.state的地方。
警告:
因为 JSX 的特性更接近 JavaScript 而不是 HTML , 所以 React DOM 使用 camelCase 小驼峰命名 来定义属性的名称,而不是使用 HTML 的属性名称。
例如,class 变成了 className,而 tabindex 则对应着 tabIndex。
JSX 防注入攻击
React DOM 在渲染之前默认会 过滤 所有传入的值。它可以确保你的应用不会被注入攻击。所有的内容在渲染之前都被转换成了字符串。这样可以有效地防止 XSS(跨站脚本) 攻击。
组件的返回值只能有一个根元素。
React是非常灵活的,但它也有一个严格的规则:
所有的React组件必须像纯函数那样使用它们的props。