【React】值得注意的事情

2021/09/09 10:04:42

React 元素是不可变对象

一旦被创建,你就无法更改它的子元素或者属性。一个元素就像电影的单帧:它代表了某个特定时刻的 UI。根据我们已有的知识,更新 UI 唯一的方式是创建一个全新的元素,并将其传入 ReactDOM.render()。

组件名称必须以大写字母开头

React 会将以小写字母开头的组件视为原生 DOM 标签。

无法修改自身 props

组件无论是使用函数声明还是通过 class 声明,都决不能修改自身的 props。所有 React 组件都必须像纯函数(状态机,不尝试更改入参,多次调用时相同的入参始终返回相同的结果)一样保护它们的 props 不被更改。

Class 组件应该始终使用 props 参数来调用父类的构造函数

class Clock extends React.Component {
  constructor(props) {
    super(props);
    this.state = {};
  }
}

赋值

构造函数是唯一可以给 this.state 赋值的地方

没有插槽

React 中没有“插槽(slot)”这一概念的限制,你可以将任何东西作为 props 进行传递。