我是React Native的新手,我想问一下如何使用NavigationOptions将功能组件中的钩子状态传递给另一个屏幕
这里是代码:
const Screen = props => {
const [eventName, setEventName] = useState('');
React.useLayoutEffect(() => {
props.navigation.setOptions({
headerRight: () => (
<HeaderButtons HeaderButtonComponent={HeaderButton}>
<Item
title="Finish"
iconName={Platform.OS === 'adroid' ? 'done-all' : 'done-all'}
onPress={() => {
props.navigation.navigate('TripsListDetailScreen', {
final_eventName: eventName,
})
}}
/>
</HeaderButtons>
)
});
}, [props.navigation]);
return(...);
}
我正在尝试将eventName
传递到另一个屏幕。由于我们必须在组件外部使用headerRight
来设置navigationOptions
的样式,例如:
Screen.navigationOptions = data => {
return(
headerTitle:...,
headerRight: ....
)
}
我们无法在此处传递参数。因此,我按React.useLayoutEffect()
但是屏幕抛出错误:
请帮助
我知道问题出在哪里。当我登录props.navigation
时,它没有setOptions
功能。而且,当我回顾文档时,我发现这是因为我使用的版本。