【问题标题】:Access Redux Variable in createStackNavigator在 createStackNavigator 中访问 Redux 变量
【发布时间】:2020-10-28 03:24:44
【问题描述】:

我在我的 react native 应用程序中使用 stacknavigator,并想根据 redux 中的变量确定是否显示标题。

const AppStack = createStackNavigator(
    {
        Screen1: {
            screen: FirstScreen,
            headerMode: variable.fromRedux ? "none" : "screen"
        }
        Screen2: {
            screen: SecondScreen
        }
    }
)

如何将 redux 变量传递给 createStackNavigator?否则任何人都可以提出另一种方法吗?

【问题讨论】:

  • 您是否在屏幕中禁用/启用标题?

标签: reactjs react-native react-navigation stack-navigator


【解决方案1】:

可以直接导入store,访问状态like;

import store from './store/index' // depends to where and how you exported the store, its just my example

const state = store.getState();

然后你可以随意使用堆栈导航器中的状态

const AppStack = createStackNavigator(
    {
        Screen1: {
            screen: FirstScreen,
            headerMode: state.headerShown ? "none" : "screen"
        }
        Screen2: {
            screen: SecondScreen
        }
    }
)

只是一个如何使用状态的例子:)

希望对你有帮助

【讨论】:

  • 我还有一个问题。当 redux 变量改变时,header 的状态不会更新,除非手动重新加载应用程序
  • createStackNavigator 可以是静态的,创建时初始化,不知道
  • 在 react-navigaiton 4.x 中,我在选项中使用了类似的东西,defaultNavigationOptions: ({ navigation }) => { return { drawerLockMode: navigation.state.index === 0 ? '锁定-关闭' : '解锁', }; },但现在我什至不知道那是做什么的://
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-08
  • 1970-01-01
  • 2021-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多