Невозможно загрузить изображение из Firebase Storage в Expo Image - PullRequest
0 голосов
/ 07 апреля 2020

Я сохраняю изображения, выбранные из Expo ImagePicker / Camera, в Firebase Storage и извлекаю изображения, используя getDownloadURL, getDownloadURL .

Используя результат этой функции, я сохраняю ссылку изображения в моей базе данных Firebase Realtime и показываю эти изображения с помощью компонента изображенияact-native.

Полученная ссылка на изображение - это нечто вроде 'https://firebasestorage.googleapis.com/v0/b/my-app.appspot.com/o/image%2FHaroi3o9Krf1wP9j0DzHIqfJ8Sz2%2F-imageName.jpg?alt=media&token=x'.

Когда я добавляю этот URL к изображению, ничего не отображается.

// FlatList to show data

<FlatList
  data={data}
  refreshing={isRefresh}
  onRefresh={refresh}
  keyExtractor={data => data.id}
  renderItem={data => {
  return (
    <CustomItem imageUrl={data.item.imageUrl} />
  );
  }}
/>

// Image Component (In another file)
// (gave up properly formatting the codes.. anyone knows how? 
// when i copy and paste it, this is the result below.)

const { imageUrl } = props;

const [imageLink, setImageLink] = useState('');

  useEffect(() => {
    setImageLink(imageUrl);
  }, [props]);

console.log('imageUrl', imageUrl);

<View style={styles.imageContainer}>
        {!imageLink.length === 0 ? (
          <Image style={{width: '100%', height: '100%'}} source={{ uri: imageLink}} />
        ) : (
          <Text>No image found!</Text>
        )}
      </View>

То, что я пробовал, хранит полученный реквизит imageUrl переходит в состояние с useEffect с зависимостью в качестве реквизита, а затем устанавливает исходный / uri компонента Image в это состояние. Но это не сработало.

Благодарим за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...