我明白,在你的 React 组件中,呈现一个组件而不是使用呈现一些 JSX 的函数总是好的。我的意思是,
这样做:
export default function App() {
const [count, setCount] = useState(0);
const someRenderFunction = () => <p>Hey</p>;
return (
<div className="App">
{someRenderFunction()}
<button
onClick={() => {
setCount((c) => c + 1);
}}
>
Increment{" "}
</button>
<p>{count}</p>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
不鼓励。渲染函数应该导出到它自己的组件中,如下所示:
const HeyComponent = () => <p>Hey</p>
export default function App() {
const [count, setCount] = useState(0);
return (
<div className="App">
<HeyComponent />
<button
onClick={() => {
setCount((c) => c + 1);
}}
>
Increment{" "}
</button>
<p>{count}</p>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
但我从来没有真正理解这种重构的好处。我尝试放置检查重新渲染行为,卸载行为。还是没看出什么区别。谁能详细解释为什么这种重构是必要的/有益的?
小智 1
呈现组件的代码被视为最佳实践。使用组件,我们可以将状态值传递给子组件,并可用于显示数据。相同的组件可以在其他地方重复使用。
如果您只需要显示一个小功能,那么如果它显示恒定的信息,也可以使用它。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |