undefined 不是对象(评估“this.props.navigation”)反应导航
2018-04-16
687
我在 React Native App 中使用 React Stack Navigator。我的导航道具有问题。
这是我调用导航方法的组件。
class CommandsList extends React.Component {
constructor(props){
super(props);
}
addCommand(){
this.props.navigation.navigate("CreateCommand");
}
render() {
return (
<SafeAreaView style={{flex:1}}>
<MyList itemsUrl="http://localhost:9000/commands"/>
<Button title="Ajouter" onPress={this.addCommand}></Button>
</SafeAreaView>
);
}
}
export default StackNavigator({
CommandsList : {
screen : CommandsList,
},
});
还有我的 App.js
const RootStack = StackNavigator(
{
CommandsList: {
screen: CommandsList,
},
CreateCommand: {
screen: CreateCommand,
}
},
{
initialRouteName: 'CommandsList'
}
);
export default class App extends React.Component {
render() {
return <RootStack/>;
}
}
我不明白为什么导航方法会出现错误。:/
1个回答
您需要在构造函数中使用
bind
或使用
fat arrow
函数将
this
引用到
context
来绑定您的引用。
addCommand = () => {
this.props.navigation.navigate("CreateCommand");
}
或
constructor() {
super()
this.addCommand = this.addCommand.bind(this);
}
您也可以查看此 文章
Pritish Vaidya
2018-04-16