Как реализовать getStaticProps в макете

reactjs #next.js

#reactjs #next.js

Вопрос:

Далее.Макеты JS можно использовать для сохранения состояния страницы, но, по-видимому, не для вызовов API. В документах указано использовать SWR или useEffect извлекать данные из макетов страниц, но это плохой опыт для статических данных, таких как данные, которые попадают в нижний колонтитул. Например, выборка адреса улицы для нижнего колонтитула должна выполняться не на клиенте, а на сервере.

При всем сказанном — возможно ли вызвать getStaticProps макет? Или есть другой способ извлечения данных на стороне сервера для макета?

Комментарии:

1. Это невозможно. Извлекайте данные на уровне страницы, а затем передавайте их вашим компонентам.

Ответ №1:

Вы можете использовать только Next.js методы выборки данных внутри Next.js «файлы подкачки» (файлы внутри ./pages/ или ./src/pages/ .

Компоненты макета не могут использовать эти методы; однако они МОГУТ ожидать, что реквизит будет передан им определенным образом.

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