1

Тема: Оновлення даних з використанням react-native-fs

Вітаю.
Реалізовую на даний момент процес зберігання фото не девайсі (телефоні) з використанням react-native-image-picker та react-native fs.
Процес завантаження та відправлення даних реалізовано. Дані відправляються і приходять коректно.
Але не працює функціонал з оновленням самого зображення.
Тобто якщо мені потрібно оновити фото юзера - я можу обрати будь-яке фото з бібліотеки, відправити його. Запит проходить успішно, після чого - в path - який відповідає за відображення фото приходять нові дані.

Якщо вийти з додатку і зайти - то фото відображаються правильні, але в самому додатку refresh не відбувається..
Хтось с подібним зіштовхувався?

завантаження файлу:

static downloadAvatar = async (
    link: string | undefined,
    id?: string,
  ): Promise<DownloadResult | null> => {
    if (link) {
      const res = RNFS.downloadFile({
        fromUrl: link,
        toFile:
          FOLDER_PATH +
          `/${id ? `member-avatar-${id}` : 'profile-avatar'}`,
      });

      return res.promise;
    }
    return null;
  };

метод для отримання шляху файлу:

static getImg = (id?: string): string => {

    const photoPath =
      FOLDER_PATH +
      `/${? ? `member-avatar-${?}` : 'profile-avatar'}`;

    return IS_IOS ? photoPath : 'file://' + photoPath;
  };

в самій компоненті виконується отримання файлу як:

  const userAvatar = useMemo(() => FileSystem.getAvatar(), []);

   ...

<Photo source={{ uri: userAvatar }} />

2

Re: Оновлення даних з використанням react-native-fs

Як тіки помітив useMemo, то відразу спало на думку, що використовується мемоїзоване значення. Тобто, функція getAvatar викликається лише один раз, і її результат мемоїзується.
Ось детальніше про це.
https://uk.reactjs.org/docs/hooks-refer … ml#usememo

Подякували: leofun011

3

Re: Оновлення даних з використанням react-native-fs

Багаторазово пробував і без useMemo, із в використання useEffect - реакція взагалі не відбувається...

4

Re: Оновлення даних з використанням react-native-fs

А покажіть, як і де ви викликаєте downloadAvatar

5

Re: Оновлення даних з використанням react-native-fs

Знімаю питання.
Оновлення даних не відбувалось тому що не відбувалась зміна шляху збереження файлу.
Після додавання унікального ідентифікатору до назви файлу - все налагодилось.
Дякую.