Возможно ли в настоящее время в Gatsby создавать повторно используемые компоненты, которые имеют собственный запрос graphql? Если нет, то какой в настоящее время является наименее «связанным» способом передачи данных в повторно используемые компоненты? Кажется, я не могу найти никаких примеров, которые это делают, и я ничего не могу найти в документации.
Скажем, например, вы хотите создать компонент облака тегов для блога, который бы отображался на боковой панели всех страниц «сообщений», а также на одной странице «/ tag-cloud». Вы можете использовать как <TagCloud limit={20} />
или <TagCloud tags={uniqueTags} />
. Для этого вам нужно будет запросить все ребра, сопоставить / уменьшить каждый массив tags
до уникального упорядоченного набора уникальных строк тегов.
Или, скажем, вам нужен компонент «другие продукты» для страницы каталога, исключающей текущий продукт. Здесь у вас может быть <ProductsList exclude={currentProduct} />
. Это будет простой отфильтрованный запрос во время сборки.
Единственный способ, которым я могу это сделать, - это либо обезьяно исправить результаты запроса из createPages()
, либо передать данные через context
в createPage({path, component, context})
. Должно ли это произойти в gatsby-node.js
? Есть ли другие способы?
allMarkdownRemark
. В качестве другого примера с аватаром, как бы вы отобразили список всех аватаров всех авторов сайта на одной странице сообщения? Или, если я могу создать список вgatsby-node.js
, как мне передать его на все страницы? - person Andrew   schedule 03.10.2017