【问题标题】:Pass image with route.params React native使用 route.params 传递图像 React native
【发布时间】:2021-07-19 11:15:29
【问题描述】:

我尝试使用 route.params 传递图像,但它不起作用。

从第一个屏幕我传递这样的结果:

onPress={() => props.navigation.navigate('Save', saveImage(), {result} )}

我的第二个屏幕我尝试显示我的图像我这样做:

 <Image style={styles.image} source={{ uri: `data:image/png;base64,${props.route.params.result}` }}/>

我通过 printscreen a View 得到我的结果,如果我 console.log 我的 Image on screen One 我得到了我的结果,但如果 console.log 在屏幕编号上显示“未定义”。

这就是我保存图像和工作的方式:

  const saveImage = async () => {
  const image = await captureRef(inputEl, {
      result: 'base64',
      quality: 1,
      format: 'png',
    });
    setResult(image);
  };

【问题讨论】:

    标签: react-native navigation routeparams


    【解决方案1】:

    我建议你这个代码:

        const saveImage = async () => {
           var  image = null
           image = await captureRef(inputEl, {
                 result: 'base64',
                 quality: 1,
                 format: 'png',
           });
       if(image) return image ;
      };
    
     const goSaveImage = () => {
        saveImage().then((image)=>{
          props.navigation.navigate('Save', {result : image} )
        })
     }
    

    在您的 onPress 上:

    onPress={() => goSaveImage()}
    

    【讨论】:

      【解决方案2】:

      您应该在 useEffect 中导航。

      useEffect(() => {
        if (result) {
          props.navigation.navigate('Save', result)
        }
      }, [result])
      
      onPress={saveImage}

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 2020-03-13
        • 1970-01-01
        • 1970-01-01
        • 2021-05-13
        • 2020-06-21
        • 1970-01-01
        相关资源
        最近更新 更多