react-native - 使用 Hook 以编程方式更新功能组件中的 react 导航标题标题

标签 react-native react-navigation

关于 react 导航 setParams() 的问题。我在 Reactiflux 上询问过,但没有人回应。我正在尝试在功能组件中以编程方式设置标题。

从另一个 Stack Overflow 线程,追溯更新静态标题,像这样,有效:

const Comp = props => { ... };

Comp.navigationOptions = ({ navigation }) => ({
  title: 'Static Title'
});

但我需要从组件访问组件状态,这是行不通的:

const Comp =({ navigation }) => {
 const [title, setTitle] = useState('');

 useEffect(() => {
     navigation.setParams({ title });
 }, [title]);

 return ( ... );
}

如果setParams()是错误的做法,请赐教

编辑:除此之外,当我 console.log(navigation) 时,我可以看到它正在将 navigation.state.params.title 更改为正确的字符串,但是它没有显示为标题。

最佳答案

您需要获取标题参数并将其应用于标题:

Comp.navigationOptions = ({ navigation }) => ({
  title: navigation.getParam('title', /* your default title */)
});

关于react-native - 使用 Hook 以编程方式更新功能组件中的 react 导航标题标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588270/

相关文章:

react-native - 如何在类组件中使用 React Navigation useNavigation Hook?

react-native - react native 路由器通量 : TypeError: undefined is not a function (evaluating 'addListener' )

ios - 纯粹在 Swift 中 React Native 应用程序

ios - 将 React-Native App 部署到 App Store 的指南

javascript - React Navigation - 带有嵌套导航器的导航选项

react-native - 如何在BottomTabBar react 导航中为每个选项卡使用自定义宽度?

javascript - 如果我在屏幕上来回移动,为什么 useState 的状态会突然恢复为 false?

Javascript — 如何将多个元素分配给一个对象?

ios - 世博套件 : "Native Module cannot be null" error after installing expo-in-app-purchase

react-native - 将图像 url 转换为 base64 格式以进行 React Native 共享