首页 > 解决方案 > 如何用 redux 包装 createStackNavigator?

问题描述

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

项目结构

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

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创建了一个侧边菜单,如下图所示。

我的抽屉菜单是这样的

在我使用的模块中,无论我给offset props值是多少,背景色都有白色的部分;作为我研究的结果,我看到并应用了这个 cardStyle 的解决方案。

标签: react-nativereact-navigationreact-navigation-stack

解决方案


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


推荐阅读