Динамически генерирующий маршруты в Gatsby JS

#reactjs #react-native #web-applications #gatsby

#reactjs #react-native #веб-приложения #gatsby

Вопрос:

Я пытаюсь создать сложное CRUD-приложение React с использованием Gatsby JS. Также должна быть доступна возможность для пользователя создавать записи, редактировать записи, удалять записи. У этого приложения будет много пользователей. Мы не используем стороннюю CMS. Все будет сделано в приложении Gatsby. Также потребуется несколько разных страниц, которые должны будут обрабатывать состояние, отображать и сортировать разные записи на основе параметров. Мой вопрос в том, является ли такой проект перегрузкой для Gatsby JS, поскольку он нарушает модель страницы? У Gatsby нет собственного способа генерировать динамические маршруты или представления, только страницы. Это своего рода приложение для социальных сетей, является ли Gatsby JS неподходящим инструментом для этой работы?

Ответ №1:

Вы можете создавать страницы «динамически», используя createPages API.

https://www.gatsbyjs.org/docs/node-apis/#createPages

Также есть отличная серия видеороликов от Скотта Толински, которые демонстрируют использование этого API.

Однако GatsbyJS — это статический генератор статических сайтов, он предназначен для повышения производительности и большего количества сайтов, основанных на контенте. Единственный способ получить функциональность CRUD — это через вызовы API из интерфейса, что может иметь некоторые последствия для безопасности, которые вам необходимо учитывать.

В качестве альтернативы вы можете взглянуть наNext.js. Идея того же рода, но страницы обслуживаются Express.js вместо того, чтобы просто обслуживать файловую систему, у вас есть намного больше возможностей для более динамичных сайтов.