#reactjs #graphql #lodash #gatsby #contentful
#reactjs #graphql #lodash #gatsby #довольный
Вопрос:
Пример начального кода Gatsby / Contentful:
import get from 'lodash/get'
...
const post = get(this.props, 'data.contentfulBlogPost')
const siteTitle = get(this.props, 'data.site.siteMetadata.title')
Почему они используют Lodash ‘get’ вместо того, чтобы напрямую ссылаться на результат graphql-запроса ‘data’ в html-коде?
Ответ №1:
Используя ‘get’ из Lodash, который может обрабатывать некоторые случаи, то this.props.data
есть undefined
, чтобы избежать кода, выдающего некоторую ошибку при попытке доступа this.props.data.contentfulBlogPost
.
Вы также можете использовать this.props?.data?.contentfulBlogPost