【问题标题】:Refresh a functional component from another one刷新另一个功能组件
【发布时间】:2026-01-14 01:55:01
【问题描述】:

我有三个文件:App.js、A.js 和 B.js。 A 和 B 是 App.js 中使用的功能组件。在 A.js 中我有一个函数 foo(),在这个函数中我想强制 B.js 重新渲染。

知道怎么做吗?

我用谷歌搜索了这个问题,发现我可以在 B.js 中设置一个状态并更新该状态。但是如何从 A.js 中的 foo() 更新这个外部状态?

【问题讨论】:

  • 您需要使用shared state and functions,将函数和状态从App 传递给AB,并使用A 中传递的函数更新状态,这将更新共享状态,这将反过来重新渲染B

标签: javascript reactjs refresh react-functional-component


【解决方案1】:

在您的App 中有一个state,然后将其state 传递给BsetState 函数到A 作为props。然后,每当您通过组件A 的setState 函数更新状态时,都会导致重新渲染组件B。发生这种情况是因为每当 props 更新时 react 会触发重新渲染。

【讨论】:

    【解决方案2】:

    为什么要重新渲染它?如果你将 props 传递给组件,如果这些 props 发生变化,它将自动重新渲染。

    【讨论】:

    • 我的文件 A.js 中有一个函数,B.js 应该在函数期间重新渲染(在循环内)。它不起作用,只有在函数完成时重新渲染。
    • 我需要查看实际代码以进一步帮助您。我不确定我是否理解您想要完成的任务
    最近更新 更多