【问题标题】:React Navigation multiple stack configsReact Navigation 多个堆栈配置
【发布时间】:2019-08-26 18:27:13
【问题描述】:

我有一个包含多个页面的 DrawerNavigator,每个页面都是它们自己的 StackNavigator,这意味着我为每个堆栈都有一个堆栈配置。例如

export const Stacker1 = createStackNavigator({
  Stacker1FirstPage: {
    screen: Stacker1FirstPage,
    navigationOptions: {
      headerTitle: "Stacker1FirstPage",
    }
  },
},
{
  headerLayoutPreset: "center",
  headerMode: "float",
  defaultNavigationOptions: {
    headerTintColor: "#fff",
    headerLayoutPreset: "center",
    headerStyle: {
      backgroundColor: "#333",
    },
    headerTitleStyle: {
      fontSize: 18
    },
  }
})

我的抽屉里每一页都有一个。

所有这些堆栈配置都是相同的。 有没有办法在我的代码中只传递一次堆栈配置?

【问题讨论】:

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


    【解决方案1】:

    将您的常用配置放在一个文件中,然后在需要的地方导入和使用。

    是的,据我所知,您必须为每个堆栈定义自定义配置。

    
    // defaultStackConfig.js
    export const defaultConfig = {
      headerLayoutPreset: "center",
      headerMode: "float",
      defaultNavigationOptions: {
        headerTintColor: "#fff",
        headerLayoutPreset: "center",
        headerStyle: {
          backgroundColor: "#333",
        },
        headerTitleStyle: {
          fontSize: 18
        },
      }
    }
    
    
    // Stack1.js
    
    import {defaultConfig} from './defaultConfig'
    
    export const Stacker1 = createStackNavigator({
      Stacker1FirstPage: {
        screen: Stacker1FirstPage,
        navigationOptions: {
          headerTitle: "Stacker1FirstPage",
        }
      },
    }, defaultConfig)
    
    // or with some custom mode
    
    export const Stacker1 = createStackNavigator({
      Stacker1FirstPage: {
        screen: Stacker1FirstPage,
        navigationOptions: {
          headerTitle: "Stacker1FirstPage",
        }
      },
    }, { ...defaultConfig, ...{ headerMode: "float" })
    
    
    

    【讨论】:

    • 感谢您的洞察力!现在维护将变得很容易
    猜你喜欢
    • 2021-01-24
    • 2019-06-19
    • 2019-07-12
    • 1970-01-01
    • 2020-11-07
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多