render()
程序员文章站
2022-07-15 13:36:44
...
render()
render()
render()
方法是类组件唯一必须的方法。
当被调用时,其应该检查this.props
和 this.state
并返回以下类型之一:
-
React元素。通常是由 JSX 创建。例如,
<div />
和<MyComponent />
是 React 元素,指示 React 渲染一个 DOM 节点,或是另一个用户定义的组件,各自分别地。 - 数组和fragments。让你从渲染中返回多个元素。See the documentation on fragments for more details.
- Portals。让你渲染孩子们到一个不同的DOM子树。See the documentation on portals for more details.
- 字符串和数字。这些将被渲染为 DOM 中的文本节点。
-
布尔或
null
。什么都不渲染。(通常存在于return test && <Child />
模式,其中test
是布尔值。)
render()
函数应该是纯的,意味着不应该改变组件的状态,其每次调用都应返回相同的结果,同时它不会直接和浏览器交互。
若需要和浏览器交互,将任务放在componentDidMount()
中或其他的生命周期方法中。保持render()
方法纯净使得组件更容易理解。
注意
若
shouldComponentUpdate()
返回false,render()
函数将不会被调用。