Использование Lodash get в Gatsby / Довольный

#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