React Native 出現undefined is not an object (evaluating 'this.props.navigator')
阿新 • • 發佈:2019-01-28
在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); }