TypeError: невозможно прочитать свойство valueSeq из undefined

Я получаю странную ошибку в React.js. Не уверен, что это потому, что я использую immutable как пакет. Но в любом случае есть ошибки:

Store.getMessages
src/store.js:26
  23 |   this.update()
  24 | }
  25 | getMessages(){
> 26 |   return this.messages.valueSeq()
  27 | 
  28 | }
  29 | addChannel(index, channel = {}){
View compiled
Messenger.render
src/components/messenger.js:91
  88 |   height: height,
  89 | };
  90 | 
> 91 |   const messages = store.getMessages()
  92 |   const channels = store.getChannels()
  93 | 
  94 |   return (
View compiled
▶ 24 stack frames were collapsed.
./src/index.js
src/index.js:9
   6 | import './css/app.css'
   7 | 
   8 | 
>  9 | ReactDOM.render(<App />, document.getElementById('root'));
  10 | registerServiceWorker();
  11 | 
  12 | 
View compiled
▶ 6 stack frames were collapsed.
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
0
195
1

Ответы 1

Ваш вопрос немного расплывчатый, но если бы мне пришлось предположить, в чем ваша проблема, вы увидите, что здесь у вас есть функция getMessages().

getMessages() {
  return this.messages.valueSeq();
}

Теперь проблема не в самой этой функции. Проблема в том, что кажется, что this.messages не определен. Если this.messages - ваше начальное состояние, вы его еще не инициализировали? Если нет, скорее всего, это ваша проблема. В любом случае, в вашем магазине this.message равно undefined в то время, когда getMessages вызывается в messages.js. Для неопределенной переменной не может существовать никаких функций, поэтому вы получаете эту ошибку. Если бы вы могли предоставить больше кода своего магазина, я, вероятно, мог бы вам больше помочь, но эти небольшие небольшие разделы затрудняют определение, почему this.messages не определен.

Другие вопросы по теме