Почему происходит сбой моего приложения реагировать на саги после удаления из него immutableJ? - PullRequest
0 голосов
/ 19 июня 2019

Проблема

Это очень сложная и странная проблема, потому что ее также очень сложно объяснить. Я начинаю с самого начала:

Я запустил новое приложение, используя этот шаблон:

https://github.com/flexdinesh/react-redux-boilerplate

Все работало нормально, пока владелец репо не сделал небольшие изменения (посмотрите последний коммит "Add prettier config; Upgrade deps; Remove immutable").

Так как мне не нравится неизменность, я подумал, что было бы здорово также удалить его. Поэтому я вошел в этот коммит проектов и сделал точно так же, как и он. Я также установил те же версии депо, что и в его package.json.

Теперь приложение запускается, и когда я загружаю страницу, я вижу только пустую страницу с некоторыми ошибками в devtools.

Ошибки можно найти здесь: https://imgur.com/a/ilNGj2b

Одно «большее» изменение, которое он также сделал, перемещается с react-router-redux на connected-react-router.

Также в файлах injectReducer и injectSaga под app/utils он внес некоторые изменения, в основном импортируя ReactReduxContext. Я специально упоминаю это, потому что я думаю, что это как-то связано с этими изменениями.

Что я пробовал

Я добавляю debugger операторов в определенные файлы и обнаруживаю следующее:

  • injectReducer файл запускается и получает правильные реквизиты
  • injectSaga файл не запускается вообще, я думаю, потому что он падает до того, как его запустят. Но я не могу узнать, где и почему.

Я знаю, что это трудно решить, потому что это очень большой шаблонный код, но вы моя последняя надежда (я уже создал здесь проблему: https://github.com/flexdinesh/react-redux-boilerplate/issues/38).

Может быть, кто-то из вас, кто обладает большим опытом, сможет выяснить, в чем может быть проблема (возможно, из-за различий между последней версией этого репо и текущим коммитом или сообщениями об ошибках).

У меня действительно нет гораздо более «специфичного для проблемы» кода, поскольку он может быть действительно чем угодно.

Если кто-то захочет мне помочь, то здесь текущее репо с той же структурой, что и у этого шаблона, но с моим собственным кодом: https://github.com/SelfDevTV/forum-creator/tree/noImmutable

Ветка master работает, это было до того, как я «перешел» на новую версию без неизменности и других изменений. Ветвь noImmutable является «проблемным ребенком».

1 Ответ

0 голосов
/ 19 июня 2019

Боже мой, как хорошо.Я только что расшифровал свое репо с помощью стандартного репо следующим образом:

git remote add -f b path/to/repo_b.git
git remote update
git diff noImmutable:app/utils remotes/b/master:app/utils
git remote rm b

И я обнаружил, что я сделал опечатку из одной буквы в файле injectSaga.js.

Я набрал: static contextTypes = ReactReduxContextвместо static contextType = ReactReduxContext (слишком много 's': D)

После того, как я установил, что все возвращается в норму и работает отлично.Мужские моменты, подобные этому, вот почему я люблю кодировать и Git <3 </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...