Как я могу импортировать свойство defaultNavigationOptions на экран? - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь импортировать свойство реагировать на мои экраны, проблема в том, что я всегда импортирую одни и те же defaultNavigationOptions для разных стеков, чтобы оптимизировать код, который я хочу создать, в качестве функции, поэтому я только импортирую его один раз на каждом экране без необходимости писать это много раз, как я, затем мой код, чтобы они понимали больше.

    const BloquesStack = createStackNavigator(
  {
    BLOQUES: {
      screen: ScreenBloquesRedux,
      navigationOptions: ({ navigation }) => {
        return {
          headerLeft: <ButtonMenu navigation={navigation} />,
          headerRight: <ButtonHome navigation={navigation} />
        };
      }
    },
    DetalleBloques: {
      screen: DetalleBloque
    },
    IntegrantesBloque: {
      screen: IntegrantesBloque
    }
  },
  {
    defaultNavigationOptions: {
      headerBackTitle: "Atras",
      headerTitleStyle: {
        fontFamily: "RobotoCondensed-Regular",
        fontWeight: "100",
        fontSize: 20,
        textAlign: "center",
        color: white,
        flex: 1
      },
      headerStyle: { backgroundColor: blue, height: 60 },
      headerTintColor: white
    }
  }
);
export { BloquesStack };

const ComisionesStack = createStackNavigator(
  {
    COMISIONES: {
      screen: ComisionesRedux,
      navigationOptions: ({ navigation }) => {
        return {
          headerLeft: <ButtonMenu navigation={navigation} />,
          headerRight: <ButtonHome navigation={navigation} />
        };
      }
    }
  },
  {
    defaultNavigationOptions: {
      headerBackTitle: "Atras",
      headerTitleStyle: {
        fontFamily: "RobotoCondensed-Regular",
        fontWeight: "100",
        fontSize: 20,
        textAlign: "center",
        color: white,
        flex: 1
      },
      headerStyle: { backgroundColor: blue, height: 60 },
      headerTintColor: white
    }
  }
export { ComisionesStack };

const DrawerNavigator = createDrawerNavigator(
  {
    Diputados: { screen: DiputadosStack },
    Bloques: { screen: BloquesStack },
    Interbloques: { screen: InterBloquesStack },
    Comisiones: { screen: ComisionesStack },
    Autoridades: { screen: AutoridadesStack },
    "Sesion En Vivo": { screen: SesionEnVivoStack },
    "Diputados TV": { screen: DiputadosTVStack },
    "Reglamentos HCDN": { screen: PDFReglamentosStack }
  },
  {
    contentComponent: CustomDrawerContentComponent,
    drawerWidth: width / 2,
    contentOptions: {
      activeTintColor: white,
      activeBackgroundColor: Gris_Drawer,
      inactiveTintColor: "rgb(105,105,104)",
      itemsContainerStyle: {
        textAlign: "center"
      },
      labelStyle: {
        fontFamily: "RobotoCondensed-Regular",
        fontWeight: "100",
        fontSize: 17,
        marginTop: 8,
        marginLeft: 10
      }
    },
    iconContainerStyle: {
      opacity: 1
    }
  }
);

Я просто хочу импортировать параметры навигации по умолчанию. Я не собираюсь изменять свою навигацию, я просто хочу знать, можно ли это сделать. Большое спасибо уже

1 Ответ

0 голосов
/ 11 апреля 2019

Создайте отдельный объект с defaultNavigationOptions

const defaultNavigationOptions = {
  headerBackTitle: "Atras",
  headerTitleStyle: {
  fontFamily: "RobotoCondensed-Regular",
  fontWeight: "100",
  fontSize: 20,
  textAlign: "center",
  color: white,
  flex: 1
  },
  headerStyle: { backgroundColor: blue, height: 60 },
  headerTintColor: white
}

const BloquesStack = createStackNavigator(
  { /* routes */ },
  { defaultNavigationOptions }
)

const ComisionesStack = createStackNavigator(
 { /* routes */ },
 { defaultNavigationOptions }
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...