假设我有一个名为的父组件,我在其中创建了一个名为 [value, setValue] 的 useState。我通过 props 将 value 和 setValue 传递给子组件。请注意,父组件中不使用 setState 函数,并且父组件的 JSX 中不使用状态“value”。 Value 用于子组件的 JSX 中,setValue 也用于子组件中。这里子组件使用setValue肯定会重新渲染,父组件是否重新渲染?
我确实尝试创建一个示例项目来自己测试,我发现父组件和子组件都重新渲染了两次。我不明白为什么会发生这种情况,也许我不明白重新渲染在 React 中实际上是如何工作的。
请帮我解决这个困惑。
实际发生的情况是,当状态发生变化时,它将重新渲染创建它的组件以及所有子组件。如果您在子组件内创建状态,那么只有子组件会被重新渲染。