Подтвердить что ты не робот

React Native, маршрут не определен для индекса undefined

Я хочу создать страницу заказа с двумя вкладками на вкладке "Заказ", вкладкой "Мои заказы". Поэтому я создал один файл Order.js и еще один файл OrderContent.js.

Order.js

/* @flow */
import React from 'react'

import {
  View,
  StatusBar,
} from 'react-native'

import SplashScreen from 'react-native-splash-screen'

import HomeHeader from '../Components/HomeHeader'
import OrderContent from './OrderContent'


export default class OrdersScreen extends React.Component {
  static navigationOptions = {
    drawer: () => ({
      label: 'Orders',
    }),
  }
  static propTypes = {
    navigation: React.PropTypes.object.isRequired,
  }

  componentDidMount() {
    SplashScreen.hide()
  }
  render() {
    return (
      <View style={{flex: 1, backgroundColor: '#fff'}}>
        <StatusBar
          barStyle="light-content"
          backgroundColor={'#202930'} />
        <HomeHeader
          title="Order Page"
          navigation={this.props.navigation} />
        <OrderContent navigation={this.props.navigation}
           />
      </View>
    )
  }
}

OrderContent.js

const CustomTabView = ({router, navigation}) => {
  const { routes, index } = navigation.state
  const ActiveScreen = router.getComponentForState(navigation.state)

  return (
    <View style={styles.container}>
      <CustomTabBar navigation={navigation} />
      <ActiveScreen
        navigation={addNavigationHelpers({
          ...navigation,
          state: routes[index],
        })}/>
    </View>
  )
}
CustomTabView.propTypes = {
  router: React.PropTypes.object.isRequired,
  navigation: React.PropTypes.object.isRequired,
  // team: React.PropTypes.func.isRequired,
}

const CustomTabRouter = TabRouter({
    PlaceOrder: {
      screen: PlaceOrderScreen,
      path: '/place-order',
    },
    MyOrders: {
      screen: MyOrderScreen,
      path: '/my-orders',
    },
  },
  {
    // Change this to start on a different tab
    initialRouteName: 'PlaceOrder',
  }
)

const OrderContent = createNavigationContainer(createNavigator(CustomTabRouter)(CustomTabView))

export default OrderContent

Когда я пытался запустить приложение, он показывает, как

для индекса undefined нет маршрута. Убедитесь, что вы прошли в состоянии навигации с допустимым индексом табуляции.

Я знаю, что проблема существует в самой части <OrderContent navigation={this.props.navigation} />, но не знает, как ее преодолеть.

4b9b3361

Ответ 1

какую версию вы используете? (реагировать и реагировать маршрут)

Ответ 2

по умолчанию реагирует на нативную страницу, которая называется index.js. Вы создали файл с таким именем? он должен содержать что-то вроде этого

<code>

import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);
</code>

Вместо приложения вы можете разместить Order или OrderContent. По сути, вы выбираете "посадочную вкладку" таким образом.