React 组件未重新渲染

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

我有一个反应代码,我面临着与反应中嵌套组件相关的问题。

代码

问题是我有一个名为testing的父组件,其中包含两个名为Component1和Component2的子组件,在Component2内部有名为Component 3的子组件。

现在在 Component1 中,我正在执行一个 api 调用,该调用正在获取产品列表,并且该数据保存在测试父组件内的 useState 中,并且该 useState 的值作为 Component2 中的 prop 传递,并从该组件传递到 component3。

在 Component3 中,我的 useState 存储了一个标志,当我再次点击 api 并且数据从该 api 调用响应中更改时,Component3 中存在的标志不会重置,因为组件不会重新渲染,并且只是数据正在发生变化。

您还可以使用此codesandbox链接来了解有关该问题的更多信息。

我的问题是,当父组件(测试)中存在的 useState 更新时,嵌套组件也应该重新渲染。 但 component3 没有重新渲染。

请用 VDom 和 RDom 解释其背后的完整逻辑,以及状态更改时如何传递和执行 props。

javascript reactjs dom components react-props
1个回答
0
投票

建议“flag”不要包含在Component3中。理想情况下,在数据检索后,该标志应合并到每个对象的产品数组中。随后,该标志应传输到 Component3 以确保其在每次迭代时重置。

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