React native 如何在从react native中的另一个组件导航后刷新堆栈中已存在的组件
我有两个组件A和B。从组件B导航后,我需要刷新组件A componentDid装载无法工作,因为已装载 如何做到这一点。我正在使用react navigation从B->A导航您可以在react native中为相同的内容添加一个侦听器。React native 如何在从react native中的另一个组件导航后刷新堆栈中已存在的组件,react-native,react-navigation,React Native,React Navigation,我有两个组件A和B。从组件B导航后,我需要刷新组件A componentDid装载无法工作,因为已装载 如何做到这一点。我正在使用react navigation从B->A导航您可以在react native中为相同的内容添加一个侦听器。 同一个列表共有4个。 将聚焦-屏幕将聚焦 didFocus-屏幕聚焦(如果有转换,转换完成) 将模糊-屏幕将不聚焦 didBlur-屏幕未聚焦(如果有转换,转换完成) 请尝试下面的代码 componentDidMount(){ const didFo
同一个列表共有4个。
请尝试下面的代码
componentDidMount(){
const didFocusSubscription = this.props.navigation.addListener(
'didFocus',
payload => {
console.warn('didFocus ', payload);
# just write your code/call a method here which you want to execute when the app comes from a component
this.handleRefresh()
}
);
}
完成后别忘了取下它
componentWillMount(){
didFocusSubscription.remove();
}
你能读的更多。谢谢:)您可以使用
react navigation
中的NavigationEvents
,也可以传递一个回调,该回调将在navigation.goBack()
上触发
检查此零食:组件已安装(存在于堆栈中)。我需要去A->B和B->A(刷新A)。此外,componentWillMount也被弃用。相反,如果您要导航回另一个组件,请使用componentDidMount()来执行此操作。或者,如果不想添加listner,可以清除堆栈