gpt4 book ai didi

reactjs - React.js 如何重新渲染组件?

转载 作者:行者123 更新时间:2023-12-05 04:57:18 25 4
gpt4 key购买 nike

我是新手。我正在浏览他们的文档以了解 React 的工作原理。所以提到当state/props/setState()改变/调用时,react重新渲染整个组件。

此外,我读到 React 元素是不可变的,只有在发生变化时才会呈现它们。因此,当 React 尝试渲染一个组件时,它实际上遍历了所有元素,检查差异并仅渲染那些数据已更改的元素。它不会简单地重新渲染整个组件。

我对此是否正确?还是我的理解有误?

最佳答案

I read that React elements are immutable and they are rendered only when there is a change.

说 React 元素是不可变的是不正确的,你需要将它们对待为不可变的,尤其是组件的 state and props .

So when React tries to render a component it actually traverses through all the elements checks for differences and renders only those elements whose data is changed.

默认行为是在父级通过调用 setState 重新渲染时渲染所有子树(这会触发组件子树上的协调)。

所以说它会在“数据更改”时渲染组件是不正确的,默认情况下它们无论如何都会重新渲染,即使“数据”没有改变也是如此。

说“数据已更改”,我们指的是 props 发生更改(默认情况下进行浅比较,使用 memoization 进行更改)。

我们可以使用key prop帮助协调过程。

关于reactjs - React.js 如何重新渲染组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64500491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com