使用 React Router Flux 返回时如何重新渲染或刷新之前的屏幕
How to re-render or refresh previous screen when going back using react router flux
在我的 React Native 应用程序中,我正在使用 React Native Router Flux,在返回到上一个屏幕时,我希望上一个屏幕重新呈现或刷新。我正在使用 Action.pop() 返回到上一个。如何刷新上一个屏幕?
您需要在屏幕上的导航对象上监听“焦点”事件,并在事件处理程序中添加获取新数据的逻辑。
function YourScreenComponent({ navigation }) {
React.useEffect(() => {
const unsubscribe = navigation.addListener('focus', () => {
// fetch new data here
});
return unsubscribe;
}, [navigation]);
return <SomeContent />;
}
我使用 Action.reset('key of the screen') of react router flux
解决了这个问题
在我的 React Native 应用程序中,我正在使用 React Native Router Flux,在返回到上一个屏幕时,我希望上一个屏幕重新呈现或刷新。我正在使用 Action.pop() 返回到上一个。如何刷新上一个屏幕?
您需要在屏幕上的导航对象上监听“焦点”事件,并在事件处理程序中添加获取新数据的逻辑。
function YourScreenComponent({ navigation }) {
React.useEffect(() => {
const unsubscribe = navigation.addListener('focus', () => {
// fetch new data here
});
return unsubscribe;
}, [navigation]);
return <SomeContent />;
}
我使用 Action.reset('key of the screen') of react router flux
解决了这个问题