Я знаю, что одним из фиксированных правил в React является то, что вы не можете выполнять какие-либо хуки внутри методов в функциональном компоненте или даже внутри других хуков, таких как хук useEffect. Он должен быть выполнен в теле самого компонента.
Итак, сегодня, работая над приложением для викторины, я столкнулся с ситуацией, когда после прохождения экрана в стековом навигаторе я хочу go вернуться назад. на этот экран снова, нажав на кнопку назад. Но на этот раз я хочу изменить информацию на предыдущем экране данными из запроса graphql, используя хук useQuery, предоставленный клиентом Apollo.
Я могу определить, является ли предыдущий экран фокусным, используя свойство isFocused
на подпорках. Если это изменится, то я снова получу данные, используя useQuery.
Я могу сделать это просто так:
React.useEffect(() => {
//how do I fetch data from here using useQuery if React prohibits me to use useQuery here?
}, [props.isFocused]);
Так вот в чем мой вопрос, есть ли способ обойти это? Буду признателен за ваш ответ.