首页 > 解决方案 > 导航后检查参数什么都不做

问题描述

我通过这样的导航传递参数:

 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同一页面时相机打开了。请提供任何帮助。

标签: react-nativereact-navigation

解决方案


如果您希望它仅在第一次运行,则删除使用效果依赖项

const main = ({ route, navigation }) => {

    // some line of code here 
         useEffect(() => {
        
                if (route.params?.status) {
                    setTakingPic(true);
                }
        
            }, []);
    
    /* the rest of code */

推荐阅读