在App.js中,我想在打开它后更新抽屉中的补充工具栏:
import SideBar from './Screens/SideBar';
const AppDrawerNavigator = DrawerNavigator({
TabNav: {screen: TabNav},
LoginScreen: {screen: LoginScreen},
RegisterScreen: {screen: RegisterScreen},
},
{
initialRouteName: "TabNav",
contentOptions: {
activeTintColor: "#e91e63"
},
contentComponent: props => <SideBar {...props} />
},
);
const defaultGetStateForAction = AppDrawerNavigator.router.getStateForAction;
AppDrawerNavigator.router.getStateForAction = (action, state) => {
if(state && action.type === 'Navigation/NAVIGATE' && action.routeName === 'DrawerOpen') {
SideBar.forceUpdate(); <--- Does not work
}
return defaultGetStateForAction(action, state);
};
对于某些情况,一旦我登录,状态更改后,SideBar.js的内容就不会更新。但是,一旦我关闭应用程序并重新打开它,就可以看到带有用户名等的更新的SideBar。我正在使用AsyncStorage。所以我想知道是否可以强迫它更新?
我听说react-redux可以解决此问题,但是我不知道如何将其合并到我的代码中。