React Navigation - повторная визуализация компонента после закрытия ящика - PullRequest
0 голосов
/ 18 октября 2018

Есть ли способ переопределить компонент после закрытия навигации по ящику (из библиотеки React-Navigation )?Как событие или что-то в этом роде?

Позвольте мне объяснить мою проблему: я не использую навигацию по ящикам только для целей навигации, но также и для настроек в моем приложении.По этой причине я хочу, например, изменить язык в моем приложении и перерисовать компонент за выдвижным ящиком (проверьте изображение).Как мне этого добиться?

Надеюсь, вы мне поможете, спасибо!

enter image description here

Ответы [ 2 ]

0 голосов
/ 29 апреля 2019

Я сделал то, что вы хотите сделать с Redux, и я думаю, что это хорошая идея, чтобы использовать его.

Сказав это, вот код, который нужно знать, когда ящик закрыт:

const defaultGetStateForAction = DrawerStack.router.getStateForAction;
DrawerStack.router.getStateForAction = (action, state) => {
  switch (action.type) {
    case "Navigation/DRAWER_CLOSED":
      // Drawer is closing code goes here...
      break;
  }

  return defaultGetStateForAction(action, state);
};
0 голосов
/ 18 октября 2018

1) - Подключить выдвижной ящик к редуксу

2) - Отправка и событие при изменении настройки.

3) - Подключить компонент, который нуждается в повторном рендеринге, в состояние настроек редукции.Если состояние будет изменено, компонент будет автоматически перерисован.

Если вы не используете Redux, вы можете попробовать MobX или другие альтернативы:

https://medium.com/@machnicki/why-redux-is-not-so-easy-some-alternatives-24816d5ad22d

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

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