У меня есть функциональный компонент. По сути, страница состоит из формы - мне нужно заполнить некоторые существующие данные в форме и позволить пользователю обновить их.
Я использую крючок, который я написал для обработки форм. Что он делает, это
const [about, aboutInput] = useInput({
type: 'textarea',
name: 'About you',
placeholder: 'A few words about you',
initialValue: data && data.currentUser.about,
})
about
- это значение, а aboutInput
- это сам фактический элемент ввода. Я тоже могу передать начальное значение.
В начале компонента я получаю данные следующим образом:
const { data, loading, error } = useQuery(GET_CURRENT_USER_QUERY)
Это выполняется только на стороне клиента и на стороне сервера data
не определено.
Следовательно, этот код работает только при переходе на страницу через компонент Link с другой страницы на стороне клиента.
Он не работает для:
- Когда я go URL-адрес напрямую
- Когда я перехожу на эту страницу с другой страницы SSR (которая использует getInitailProps)
Я не хочу использовать методы жизненного цикла / компонент класса (поскольку я использую хуки и хочу продолжать использовать функциональный компонент.
Есть ли хороший способ добиться этого в Next JS и продолжать использовать функциональный компонент?