在React、.js中,通过子组件改变useState是否会触发父组件的重新渲染?

问题描述 投票:0回答:1

假设我有一个名为的父组件,我在其中创建了一个名为 [value, setValue] 的 useState。我通过 props 将 value 和 setValue 传递给子组件。请注意,父组件中不使用 setState 函数,并且父组件的 JSX 中不使用状态“value”。 Value 用于子组件的 JSX 中,setValue 也用于子组件中。这里子组件使用setValue肯定会重新渲染,父组件是否重新渲染?

我确实尝试创建一个示例项目来自己测试,我发现父组件和子组件都重新渲染了两次。我不明白为什么会发生这种情况,也许我不明白重新渲染在 React 中实际上是如何工作的。 enter image description here enter image description here enter image description here

请帮我解决这个困惑。

javascript reactjs react-hooks react-state-management
1个回答
0
投票

实际发生的情况是,当状态发生变化时,它将重新渲染创建它的组件以及所有子组件。如果您在子组件内创建状态,那么只有子组件会被重新渲染。

© www.soinside.com 2019 - 2024. All rights reserved.