在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); }