这是 React 的一个常见问题,特别是当您不了解最新的 JS 标准(如 React 使用的 ES6)时。
所以,你的问题在这里是概念性的。React 组件接收一个名为 的对象,props
其中包含所有props
. 通常,您使用解构形式直接获取道具的某些属性。在这种情况下,您希望拥有props.navigation
.
您可以在箭头函数参数中解构 props 对象,这就是文档所说的,({navigation}) => ...
而不是(navigation) => ...
这与 using(props) => ...
和稍后做的相同props.navigation
您还需要更改您的 onPress 功能。除非您指定,否则在箭头函数中使用{...}
块不会返回任何内容return
。如果你没有用 包裹你的身体功能{...}
,那么它和写作一样{ return ...}
。所以,如果你想 return navigation.navigate('settings')
,你必须删除周围{...}
或在里面写 return 。
static navigationOptions = ({navigation}) => {
return {
title: 'Review Jobs',
headerRight: (<Title onPress={()=> navigation.navigate('settings')}>Settings</Title>)
};
};
此外,您可以对您的 navigationOptions 功能做同样的事情:
static navigationOptions = ({navigation}) => ({
title: 'Review Jobs',
headerRight: (<Title onPress={() => navigation.navigate('settings')}> Settings </Title>),
});