Home > Blockchain >  rendering image on flatlist from link in array
rendering image on flatlist from link in array

Time:10-06

The title sum it up, i just wanted to render images from array into my flatlist, but i get an error when i tries to call it like this:

<FlatList
    style={styles.flatView}
    data={data}
    keyExtractor={(item)=>item.id}
    numColumns={2}
    columnWrapperStyle={styles.flatRow}
    renderItem={({item})=>(
        <View style={styles.itemView}>
           <Image style={styles.image} source={require(item.image)} />
           <View>
                <Text style={styles.title}>{item.title}</Text>
                <Text style={styles.harga}>{item.price}</Text>
                <Text style={styles.type}>{item.category}</Text>
           </View>
        </View>
    )}
>
</FlatList>

I get error:

Invalid call at line 45: require(item.image)

My Array Call:

const getData = () =>{
    axios.get('https://fakestoreapi.com/products')
    .then((res)=>{
      let data = res.data
      // console.log(data)
      setData(data)
    })
    .catch((error)=>{
      console.log(error)
    })
  }
  useEffect(()=>{
    getData()
  },[])

How do i call the image the right way?

CodePudding user response:

To load images from a link, you use uri instead of require.

  <Image
    source={{
      uri: your link here,
    }}
  />
  • Related