Есть ли способ принудительно обновить импортированный компонент в React Native? - PullRequest
1 голос
/ 04 июня 2019

Здесь, в 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 не обновляется после изменения состояния. Но как только я закрываю приложение и снова открываю его, я вижу обновленную боковую панель с именем пользователя и т. Д. Я использую AsyncStorage. Так что мне было интересно, могу ли я заставить его обновить?

Я слышал, что response-redux может решить эту проблему, но я понятия не имею, как включить это в мой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...