Search code examples
react-nativenavigationrouteparams

Pass image with route.params React native


I try to pass an Image with route.params, but it doesn't work.

From screen Number one I pass the result like this:

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

My screen number two their I try to display my image I do like this:

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

I get my result by printscreen a View and if I console.log my Image on screen One I get my result, but if console.log on screen number it says "undefined".

This how I save my image and this work:

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

Solution

  • I'm suggest you this code :

        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} )
        })
     }
    

    and on your onPress :

    onPress={() => goSaveImage()}