React native 具有功能组件的动态标题

React native 具有功能组件的动态标题,react-native,react-navigation,React Native,React Navigation,最近,我开始重写我的一些遗留代码,这些代码将类组件用于现代钩子。我的问题是,我用它来设置标题,如下所示: 静态导航选项=({navigation})=>({ 标题:someVar, }) 现在,我必须这样做: MyScreen.navigationOptions=({navigation})=>{ 返回{ 标题:navigation.getParam('headerTitle'), } } 然后 useffect(()=>{ navigation.setParams({ 标题:“一些头衔”,

最近,我开始重写我的一些遗留代码,这些代码将类组件用于现代钩子。我的问题是,我用它来设置标题,如下所示:

静态导航选项=({navigation})=>({
标题:someVar,
})
现在,我必须这样做:

MyScreen.navigationOptions=({navigation})=>{
返回{
标题:navigation.getParam('headerTitle'),
}
}
然后

useffect(()=>{
navigation.setParams({
标题:“一些头衔”,
})
}, [])

它可以很好地处理静态屏幕标题。但对于动态标题来说,它不是。更新标题需要一秒钟的时间,首先它以空标题呈现。这是可以解释的,给出了方法。它与类组件完美结合。有更好的方法吗?

您正在设置传递到屏幕的参数(
setParams
),而不是屏幕本身的选项(
setOptions
),这是导致您出现异常行为的原因

我不确定您的用例是什么,所以我不能告诉您使用哪一个,但是有两种方法可以在react导航中设置标题。使用选项参数从导航器或使用
navigation.setOptions
从组件内部查看