Получение данных с помощью маршрутов nextjs 'catch all'

С nextjs 10 у вас может быть маршрут catch all, который выглядит примерно так [...id].tsx. Идея в том, что это позволит создавать динамические страницы. Так что он должен соответствовать /example, /example/new, /example/new/latest и т.п.

Проблема, с которой я столкнулся, заключается в том, что определенные согласованные маршруты (например, /example/new) могут потребоваться дополнительные данные для правильного рендеринга. Поскольку у меня действительно есть только один файл в моем pages папка, у меня есть доступ только к одной getStaticPropsвызов. Получение всех возможных данных для всех возможных маршрутов кажется довольно расточительным.

Получение данных на стороне сервера на уровне компонентов решило бы его проблему, но, похоже, это не поддерживается в nextjs.

Есть ли рекомендуемый способ обойти это? Условная выборка данных на основе контекста внутри getStaticProps?

1 ответ

Где вы должны получать данные, зависит от характера ваших данных. Также, когда пользователю нужны данные. Вы можете использовать getStaticProps, getServerSidePropsили получить данные на стороне клиента. См. Документацию, чтобы узнать о различиях между методами.

Другие вопросы по тегам