react-native - React Navigation v5:用于标题屏幕交互的 useEffect()?
问题描述
根据文档,我们应该使用 useLayoutEffect() 进行标题屏幕交互。我想通过 useEffect() 钩子达到同样的效果,下面的方法是否正确?
const [flag, setFlag] = useState(false);
useEffect(() => {
navigation.setOptions({
headerRight: () => (
<Button
onPress={() => {
console.log("Header", flag);
}}
title="Update count"
/>
),
});
}, [flag]);
此外,使用 navigation.setOptions() 应该更改导航道具,但是如何使用docs中的 useLayoutEffect() 和dependecy [navigation]防止进入无限循环?
解决方案
此外,使用 navigation.setOptions() 应该改变导航道具
没有理由setOptions
应该改变navigation
道具。该navigation
对象不包含任何选项,更新选项不会更改导航对象中的任何内容。
推荐阅读
- java - 注销时获取空指针异常
- javascript - 输入字段消失,输入文本保留
- kubernetes - iptables 在 Kubernetes 节点上逐渐增长
- git - 如何获取最新版本的分支
- javascript - node-oracledb TNS:监听器当前不知道连接描述符中请求的服务
- javascript - 横幅未显示在网页顶部
- python - 根据散点图中的接近度排除数据点
- r - 如何使用 R 中的 for 循环基于列创建数据框的子集
- android - Android Kotlin:使用 EXTRA_OUTPUT 保存的照片为 0 字节
- php - 如何使用 PHP 将正确的日期从 mdY 转换为 Ymd