Родной . Я сделал компонент компонента и файл router.js. Эмулятор, выдающий мне ошибку Не могу найти переменную, я не знаю, в чем проблема, но я получаю эту ошибку в эмуляторе. error image

Вот мой код

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';

import StatusComponent from './component/StatusComponent';
import HeaderComponent from './component/headerComponent';
import Router from './component/Router';
 import MainPage from './component/MainPage';

 export default class Point extends Component {
 render() {
  return (
   <View style={{flex: 1,backgroundColor: 'white'}}>

    <StatusComponent/>
    <HeaderComponent/>


    </View>

  );
  }
 }

const styles = StyleSheet.create({
 container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
 },
  welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
 textAlign: 'center',
 color: '#333333',
 marginBottom: 5,
},
} );

AppRegistry.registerComponent('Point', () => Point);

И вот мой компонент статуса

import React,{ Component } from 'react';
import {
Text,
View,
StyleSheet
 } from 'react-native';

 export class StatusComponent extends Component{
 render()
 {
  return(
     <View style={styles.Bar}>

    </View>

)
};
}
export default StatusComponent;

const styles=StyleSheet.create({
Bar:{
    backgroundColor: 'white',
    height: 20

}
})

Вот код для Router.Js этот файл вызывает проблему

   import React, { Component } from 'react'
   import {
  StyleSheet,
  Text,
  Navigator,
  TouchableOpacity
 } from 'react-native'

import MainPage from './MainPage'
import Sports from './Sports'

 export default class Router extends Component {
  constructor(){
    super()
 }
  render() {
    return (
     <Navigator
        initialRoute = {{ name: 'MainPage', title: 'MainPage' }}
        renderScene = { this.renderScene }
        navigationBar = {
           <Navigator.NavigationBar
              style = { styles.navigationBar }
              routeMapper = { NavigationBarRouteMapper } />
        }
       />
     );
  }
   renderScene(route, navigator) {
     if(route.name == 'MainPage') {
     return (
        <MainPage
           navigator = {navigator}
           {...route.passProps} 
        />
     )
    }
    if(route.name == 'Sports') {
     return (
        <Sports
           navigator = {navigator}
           {...route.passProps} 
        />
     )
    }
 }

}

 var NavigationBarRouteMapper = {
 LeftButton(route, navigator, index, navState) {
   if(index > 0) {
     return (
        <TouchableOpacity
           onPress = {() => { if (index > 0) { navigator.pop() } }}>
           <Text style={ styles.leftButton }>
              Back
           </Text>
        </TouchableOpacity>
     )
  }
  else { return null }
 },
  RightButton(route, navigator, index, navState) {
    if (route.openMenu) return (
      <TouchableOpacity
        onPress = { () => route.openMenu() }>
        <Text style = { styles.rightButton }>
           { route.rightText || 'Menu' }
        </Text>
     </TouchableOpacity>
    )
  },
   Title(route, navigator, index, navState) {
   return (
     <Text style = { styles.title }>
        {route.title}
     </Text>
   )
  }
  };

  const styles = StyleSheet.create({
   navigationBar: {
  backgroundColor: 'blue',
  },
  leftButton: {
  color: '#ffffff',
   margin: 10,
  fontSize: 17,
   },
    title: {
  paddingVertical: 10,
  color: '#ffffff',
  justifyContent: 'center',
  fontSize: 18
   },
   rightButton: {
  color: 'white',
  margin: 10,
  fontSize: 16
  }
  })
0
Asad 24 Апр 2017 в 16:03

2 ответа

Лучший ответ

В файле statusComponent есть ошибка, и это очень глупая ошибка

0
Asad 28 Апр 2017 в 08:10

В файле StatusComponent перед class StatusComponent extends Component находится export. Вы должны удалить это export и оставить export default StatusComponent; внизу.

Если после этого он все еще не работает, проверьте absolute path, который вы используете для импорта StatusComponent. Убедитесь, что это правильно

0
Chiamaka Nwolisa 24 Апр 2017 в 13:16
43588857