从另一个功能组件刷新功能组件

Refresh a functional component from another one

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

知道怎么做吗?

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

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

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