Ошибка WebpackError: ошибка TypeError: не удается прочитать свойство ‘store’ с нулевым значением

#reactjs #webpack #react-redux #graphql #gatsby

#reactjs #webpack #реакция-redux #graphql #gatsby

Вопрос:

Я просто новичок в программировании и только что попробовал GatsbyJS в течение нескольких месяцев. Я выполнил команду «gatsby build», это ошибка, которая появляется, она отлично работает в «gatsby development».

 1:24:14 AM: failed Building static HTML for pages - 12.853s
1:24:14 AM: error Building static HTML failed for path "/products/"
1:24:14 AM: 
1:24:14 AM:   101 | 
1:24:14 AM:   102 |     var _useReduxContext = useReduxContext(),
1:24:14 AM: > 103 |         store = _useReduxContext.store,
1:24:14 AM:       | ^
1:24:14 AM:   104 |         contextSub = _useReduxContext.subscription;
1:24:14 AM:   105 | 
1:24:14 AM:   106 |     var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);
1:24:14 AM: 
1:24:14 AM:   WebpackError: TypeError: Cannot read property 'store' of null
1:24:14 AM:   
1:24:14 AM:   - useSelector.js:103 
1:24:14 AM:     node_modules/react-redux/es/hooks/useSelector.js:103:1
1:24:14 AM:   
1:24:14 AM:   - index.js:12 
1:24:14 AM:     src/components/ProductListing/index.js:12:37
1:24:14 AM:   
1:24:14 AM: 
1:24:14 AM: not finished Generating image thumbnails - 85.375s
1:24:14 AM: ​
1:24:14 AM: ────────────────────────────────────────────────────────────────
1:24:14 AM:   "build.command" failed                                        
 

Ответ №1:

Существует огромная нехватка деталей и конфигураций ( gatsby-ssr.js , gatsby-browser.js , и т.д.). Тем не менее, я думаю, что ваша проблема очень похожа на эту тему GitHub. Итак:

  • Если вы используете gatsby-ssr.js API (в частности replaceRenderer ). Попробуйте изменить:
       exports.replaceRenderer
     

    Для:

     export const replaceRenderer
     
  • Удалите connect импорт (из Redux) в вашем коде. Этого следует избегать, если оно не используется:
     import { connect } from 'react-redux'