有一些方法可以在关闭抽屉导航后重新渲染组件(从 React-Navigation库)?像事件或类似的东西?
让我解释一下我的问题:我不仅仅将抽屉式导航用于导航目的,还用于应用程序中的设置。因此,例如,我想更改应用程序中的语言,然后重新渲染抽屉后面的组件(检查图像)。我该如何实现?
希望您能帮助我,谢谢!
答案 0 :(得分:0)
1)-将抽屉连接到redux
2)-更改设置后进行调度和事件。
3)-将需要重新渲染的组件连接到redux设置状态。 如果状态发生更改,组件将自动重新呈现。
如果您不使用Redux,则可以尝试MobX或其他替代方法:
https://medium.com/@machnicki/why-redux-is-not-so-easy-some-alternatives-24816d5ad22d
如果没有适当的状态管理,您想要实现的目标可能会在代码中添加许多难看的解决方法。
答案 1 :(得分: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);
};