2017-04-24 58 views
0

。我做了狀態組件和router.js文件。模擬器給我錯誤不能找到變量我不知道是什麼問題,但即時獲取模擬器中的這個錯誤。 error image不能找到原生的變量React-native

這裏是我的代碼

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代碼文件cousing問題

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

爲什麼要導出StatusComponent兩次?只是'導出默認類StatusComponent ..'就足夠了,或者刪除第一個導出。 – monssef

+0

完成了這個@monssef – Asad

+0

我更新了我的問題導致isse的Router.js看看@monssef – Asad

回答

0

statusComponent文件中存在錯誤,那是非常愚蠢的錯誤

0

StatusComponent文件中,您有exportclass StatusComponent extends Component的前面。您應該刪除該export並離開export default StatusComponent;在底部。

如果在此之後,它仍然不起作用,然後檢查您用於導入StatusComponentabsolute path。確保它是正確的

+0

我更新了我的問題Router.js導致isse看看 – Asad

+0

@Asad,你說你已經得到了解決方案。你介意把它放?可以幫助他人 –