React Native запустить функцию на экране BottomTab Navigator при загрузке? - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть панель навигации, созданная с использованием createBottomTabNavigator, это ее собственный компонент, который добавляется в приложение. js.

Когда пользователь нажимает одну из кнопок и переходит на новый экран, я хотел бы загрузить функцию, которая перезагружает данные из AsyncStorage. Я изо всех сил пытаюсь заставить это работать, у меня это загружается однажды, используя useEffect, однако это не запускается снова, если я покидаю страницу и возвращаюсь.

Каков наилучший вариант для этого?

Спасибо

1 Ответ

0 голосов
/ 25 апреля 2020

Как сказано в документах, вы должны настроить прослушиватель, чтобы проверить, находится ли компонент в фокусе.

import * as React from 'react';
import { View } from 'react-native';

function ProfileScreen({ navigation }) {
  React.useEffect(() => {
    const unsubscribe = navigation.addListener('focus', () => {
      // The screen is focused
      // Call any action
    });

    // Return the function to unsubscribe from the event so it gets removed on unmount
    return unsubscribe;
  }, [navigation]);

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