无法从外部导入的组件类到达Navigator,React声明其未定义

时间:2017-02-06 13:03:23

标签: javascript reactjs react-native

所以我有一个Navigator View,它的initialRoute为'Login',这个加载很好,但它的内容来自我导入的外部组件。在其中一个中,有一个按钮,它试图调用导航器来改变场景。它到达它,但声明它是未定义的。

我得到的错误是:“this.props.navigator.replace不是函数。(在'this.props.navigator.replace({id:”splash“})中,'this.porps.navigator.replace '未定义)“

不相关的代码已被删除

- '导航器'文件:

export default class Tester extends Component {

render() {
      return (   
          <Navigator
          initialRoute={{id: 'login'}}
          renderScene={(route, nav) => {return this.renderScene(route, nav)}}
          />
      )
}

renderScene(route, nav) {
    switch(route.id) {
      case 'login':
        return <Login navigator={nav} />
      case 'splash':
        return <Splash navigator={nav} />
    }
}

- '登录'文件:

export default class Login extends Component {

render() {
      return (
              <View>
                  <LoginForm navigator={navigator} />
              </View>
      );
}

}

- 'LoginForm'文件:

export default class LoginForm extends Component {

constructor(props) {
  super() 
  navigator = props.navigator;
}

render() {
      return (
          <View>   
              <TouchableOpacity onPress={this.moveScene.bind(this)} >
                  <Text>LOGIN</Text>
              </TouchableOpacity>
          </View>
      )
}

moveScene() {
  this.props.navigator.replace({id: "splash"});
}
}

0 个答案:

没有答案