0

我正在使用 CRNA v0.44 。我正在做一个两屏注册。我在第一个屏幕上,现在我想使用反应导航进入第二个屏幕。

但出现错误:

undefined 不是对象(评估“this.props.navigation.navigate”)

我已经探索了互联网,发现需要将道具传递给按钮但无法弄清楚如何?

SignupForm.js:

 import {
  StackNavigator,
} from 'react-navigation'
import SignupForm2 from './SignupForm2'
const App = StackNavigator({
  SignupForm2: { screen: SignupForm2 },
});
export default class SignupForm extends Component {

render () {
 const { navigate } = this.props.navigation
return (
 <Button
        title="Go to Jane's profile"
        onPress={() =>
          navigate('SignupForm2', { name: 'SignupForm2' })
        }
      />
  )
  }
}
4

2 回答 2

1

我认为您在 AppRegistry.registerComponent 中呈现 SignupForm,请尝试以下代码。您还需要在 StackNavigator 中包含 SignupForm,并在 AppRegistry.registerComponent 中呈现变量 App。

import {
 StackNavigator,
} from 'react-navigation'

import SignupForm2 from './SignupForm2'

const App = StackNavigator({
  SignupForm: { screen: SignupForm }
  SignupForm2: { screen: SignupForm2 },
});

export default class SignupForm extends Component {

render () {
const { navigate } = this.props.navigation
  return (
    <Button
      title="Go to Jane's profile"
      onPress={() =>
       navigate('SignupForm2', { name: 'SignupForm2' })
      }
    />
  )
 }
}

AppRegistry.registerComponent('yourApp', () => App);
于 2017-06-16T08:09:02.493 回答
0

我想第一个SignupForm也必须是导航器的一部分,然后告诉导航器初始屏幕是SignupForm.

于 2017-06-16T02:54:23.177 回答