在关闭抽屉导航(来自React-Navigation库)后,有一些方法可以重新渲染组件?像一个事件或类似的东西?
让我解释一下我的问题:我不是仅使用抽屉导航进行导航,而是使用我的应用中的设置。出于这个原因,我想改变我的应用程序中的语言,并重新渲染抽屉后面的组件(检查图像)。我怎样才能做到这一点?
希望你能帮助我,谢谢!
1) - 将抽屉连接到redux
2) - 更改设置时的调度和事件。
3) - 将需要重新渲染的组件连接到redux设置状态。如果状态已更改,则组件将自动重新呈现。
如果您不使用redux,您可以尝试MobX或其他替代方案:
https://medium.com/@machnicki/why-redux-is-not-so-easy-some-alternatives-24816d5ad22d
没有适当的状态管理,你想要实现的东西可能会在代码中添加许多丑陋的变通方法。
我已经完成了你想用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);
};