如何使用React Native中的navigationOptions将状态作为功能组件中的props传递?

问题描述 投票:0回答:1

我是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()

中所述尝试了docs

但是屏幕抛出错误:

Error

请帮助

javascript reactjs react-native react-navigation
1个回答
0
投票

我知道问题出在哪里。当我登录props.navigation时,它没有setOptions功能。而且,当我回顾文档时,我发现这是因为我使用的版本。

© www.soinside.com 2019 - 2024. All rights reserved.