首页 > 解决方案 > 在 React Navigation with Redux 中,有没有办法将 Stack Navigator 标题组件更新为堆栈中的屏幕?

问题描述

我正在用 Expo 构建一个使用 React Navigation 和 Redux 的本机应用程序。从同级表单屏幕更新时,我无法在屏幕的堆栈导航标题中重新渲染组件。在我的 Stack Navigator 中,我有一个主屏幕和表单屏幕来为用户创建新的配置文件(狗)。

主屏幕标题有 2 个组件:

  1. headerLeft 包含配置文件图像的可触摸组件
  2. headerTitle 选择器组件,其中包含可供选择的配置文件下拉列表

表单屏幕在提交新狗时导航到主屏幕,但主屏幕标题中的任何组件都不会在没有硬刷新的情况下更新。Form 屏幕的 handleSubmit 发布到后端,调度操作,最后是 navigation.navigate('Home')。

我已经尝试重构 Redux 调度和状态,但如果不进行硬刷新,我似乎无法让它正确呈现。请帮忙...

标签: javascriptreactjsreact-nativereduxreact-navigation

解决方案


我在做:

const [dog, setDog] = useState(useSelector(state => state.dog));

所以我的状态没有改变。我删除了 useState,现在它可以工作了。

这是因为我对 React 和 Redux 缺乏了解。谢谢。


推荐阅读