如何使用redux包装createStackNavigator?

时间:2020-01-02 20:02:57

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

我认为我的问题很清楚。在开始之前,我应该展示一下我自己创建的项目结构。

project structure

我稍后将路由器逻辑添加到项目中,我认为它将更好地工作。

stack_main.js以下;

import Screen from '../screens';
import {createStackNavigator} from 'react-navigation-stack';

export default createStackNavigator(
  {
    HomeScreen: Screen.HomeScreen,
    MyEarningsScreen: Screen.MyEarningsScreen,
    // TestScreen: Screen.TestScreen,
  },
  {
    cardStyle: {
      backgroundColor: '#000000',
    },
  },
);

实际上,如果可以通过任何方式更改“ cardStyle.backgroundColor”的值,则无需使用redux对其进行换行。由于redux是状态管理,因此无法将 createStackNavigator 函数包装在react-navigation模块中,或者我不知道。

每次推入堆栈时,我都需要更改“ cardStyle.backgroundColor”值。我该怎么办?

感谢您的关注。

我为什么要这个?

如下图所示,我使用react-native-drawer创建了一个侧面菜单。

my drawer menu like this

在我使用的模块中,无论我给offset props值如何,背景颜色都是白色的;作为该cardStyle解决方案的研究成果,我看到并应用了它。

1 个答案:

答案 0 :(得分:1)

更新为react-navigation-stack的最新版本,然后使用screenProps动态自定义颜色。