1. 程式人生 > >React Native 出現undefined is not an object (evaluating 'this.props.navigator')

React Native 出現undefined is not an object (evaluating 'this.props.navigator')

在RN的元件裡面,我們想進行介面跳轉,網上查閱資料,配置程式碼實現如下,

<NavigatorIOS ref='nav'
style= {styles.container}initialRoute= {{
                  component: LifeView,
                  title: '首頁',
                  rightButtonTitle: 'more',
                  onRightButtonPress: this.onRightButtonPress,
              }}configureScene
={(route) => { return Navigator.SceneConfigs.VerticalDownSwipeJump; }}renderScene={(route, navigator) => { let Component = route.component; return <Component {...route.params}navigator={navigator} /> }}> <
LifeView/> </NavigatorIOS>

這個LifeView元件的的跳轉方法程式碼如下,跳轉到More這個介面

_goToMore() {
    const { navigator } = this.props;
    if(navigator) {
        navigator.push({
            name: '更多',
            component: More,
        })
    }
}

這時候點選跳轉的時候就會出現undefined is not an object (evaluating 'this.props.navigator')的錯誤提示

原因:沒有繫結這個事件方法

解決方法:在constructor中對這個方法繫結

constructor (props) {
    super(props);
    this._goToMore=this._goToMore.bind(this);
}