反应导航 - 关闭抽屉后重新渲染组件

问题描述 投票:0回答:2

在关闭抽屉导航(来自React-Navigation库)后,有一些方法可以重新渲染组件?像一个事件或类似的东西?

让我解释一下我的问题:我不是仅使用抽屉导航进行导航,而是使用我的应用中的设置。出于这个原因,我想改变我的应用程序中的语言,并重新渲染抽屉后面的组件(检查图像)。我怎样才能做到这一点?

希望你能帮助我,谢谢!

enter image description here

react-native react-navigation
2个回答
0
投票

1) - 将抽屉连接到redux

2) - 更改设置时的调度和事件。

3) - 将需要重新渲染的组件连接到redux设置状态。如果状态已更改,则组件将自动重新呈现。

如果您不使用redux,您可以尝试MobX或其他替代方案:

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

没有适当的状态管理,你想要实现的东西可能会在代码中添加许多丑陋的变通方法。


0
投票

我已经完成了你想用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);
};
© www.soinside.com 2019 - 2024. All rights reserved.