react-native - 导航后检查参数什么都不做
问题描述
我通过这样的导航传递参数:
this.props.navigation.navigate('main', { status: "done" });
如图所示,我正在导航到 main 并传递称为 status 的参数,在主屏幕中我正在执行以下操作:
const main = ({ route, navigation }) => {
// some line of code here
useEffect(() => {
if (route.params?.status) {
setTakingPic(true);
}
}, [route.params?.status]);
/* the rest of code */
所以我正在检查是否有任何参数被称为status
传递然后setTakingPic(true)
这将打开相机但实际发生的事情是什么也没有打开相机但是当我按下Ctrl + S
同一页面时相机打开了。请提供任何帮助。
解决方案
如果您希望它仅在第一次运行,则删除使用效果依赖项
const main = ({ route, navigation }) => {
// some line of code here
useEffect(() => {
if (route.params?.status) {
setTakingPic(true);
}
}, []);
/* the rest of code */
推荐阅读
- c++ - 如何为 Visual Studio 设置 Podofo?
- c++ - 什么规则控制应用 static_cast 的舍入行为
到双倍? - python - 在 Pandas 中使用 YES/NO 列创建高级数据透视表以复制 Excel 数据透视表
- java - 如何将对象(敌人)移动到某个位置
- mysql - 是否有可能更有效地完成这项任务?MySQL
- android - 我正在尝试从用户 Android Studio Kotlin 预先设置的应用程序启动中的图库中读取图像
- r - fviz_cluster:将颜色设置为特定组?
- node.js - 在 NodeJS/ElectronJS 中控制多媒体
- python - 对 Django Taggit 的自动完成库的建议
- c - \v 垂直制表符在 C 中不起作用(显示男性性别符号)