React native просмотр вкладок

#ios #react-native #react-native-tab-view

#iOS #react-native #react-native просмотр вкладок

Вопрос:

Я создаю свое первое приложение на основе react native и внедряю вкладки с использованием react-native tabview. Застрял с ошибкой :

«Ошибка типа: неопределенный не является объектом (вычисление ‘_this.props.navigationState.routes.длина’).

Это скриншот ошибки, которую я получаю.

скриншот

 import * as React from 'react';
import {
  Platform, StyleSheet, Text, View, Dimensions, StatusBar, FlatList, ImageBackground, TextInput
} from 'react-native';
import { TabView, SceneMap } from 'react-native-tab-view';

const FirstRoute = () => (
  <View style={[styles.scene, { backgroundColor: '#ff4081' }]} />
);

const SecondRoute = () => (
  <View style={[styles.scene, { backgroundColor: '#673ab7' }]} />
);

export default class App extends React.Component {
  state = {
    index: 0,
    routes: [
      { key: 'first', title: 'First' },
      { key: 'second', title: 'Second' },
    ],
  };

  render() {
    return (
      <View style={styles.container}>
        <TabView
          navigationState={this.state}
          renderScene={SceneMap({
            first: FirstRoute,
            second: SecondRoute,
          })}
          onIndexChange={index => this.setState({ index })}
          initialLayout={{ width: Dimensions.get('window').width }}
          style={styles.container}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
    marginTop: StatusBar.currentHeight
  },

  scene: {
    flex: 1,
  },
});
  

Ответ №1:

Итак, я скопировал / вставил и запустил ваш код (с другим цветом фона) в качестве дополнения к выставке здесь:https://snack.expo.io/B1-xKYu2N и это работает.

Если это ваш первый проект, наиболее вероятной проблемой является отсутствие или неправильно установленные пакеты. Дважды проверьте свой package.json на что-то вроде "react-native-tab-view": "^2.0.1" . Если он есть (или после того, как вы его добавите), попробуйте запустить rm -rf ./node_modules amp;amp; npm install в терминале из каталога проекта, чтобы удалить пакеты и переустановить их. Хотел бы я быть более полезным!

Комментарии:

1. Я сталкиваюсь с той же проблемой, но проблема не решена, можете ли вы, пожалуйста, помочь мне в этом, попробуйте запустить rm -rf ./node_modules amp; amp; npm install в терминале из каталога проекта, чтобы удалить пакеты и переустановить их не удалось понять