在子组件事件上强制重新加载屏幕

时间:2020-10-29 22:16:46

标签: react-native

更改内容为时已晚,所以我想知道功能组件中是否有办法做到这一点。基本上,我有一个带有子组件的主屏幕:

ScreenHome.js

      <ChildComponent/>

ChildComponent做一些事情,并且在该过程完成后,我想重新加载屏幕。 ChildComponent位于所有屏幕中,因此我需要它来重新加载当前屏幕。我看过:

     this.forceUpdate()

但是我仅使用功能组件,因此无法应用。我将如何重新加载页面?

1 个答案:

答案 0 :(得分:0)

您可以在父母(屏幕)中定义状态,然后将设置程序传递给孩子。 例如

const [getForceUpdate, setForceUpdate] = useState(false);

<Parent>
   <Child forceAnUpdate={() => setForceUpdate(!getForceUpdate)}/>
</Parent>

子进程完成后,调用props.forceAnUpdate。 这将触发您所有组件的重新渲染。