从其中删除不可变的Js后,为什么我的react redux saga应用程序崩溃了?

时间:2019-06-19 19:20:18

标签: javascript reactjs redux react-redux redux-saga

问题

这是一个非常棘手和奇怪的问题,因为它也很难解释。 我从头开始:

我使用以下样板开始了新的应用程序:

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

一切正常,直到存储库的所有者进行了一些小的更改(查看最新的提交“添加更漂亮的配置;升级dep;删除不可变的内容”)。

由于我不喜欢不变的东西,所以我认为也将其删除会很好。因此,我进入了这个项目提交,并做了与他完全相同的事情。我还安装了与他的package.json中相同的dep版本。

现在应用程序正在启动,当我加载页面时,我看到的只是空白页面,在devtools中有一些错误。

可以在这里找到错误:https://imgur.com/a/ilNGj2b

他也做了一个“更大”的改变,就是从react-router-redux移到connected-react-router

他还在injectReducer下的injectSagaapp/utils文件中进行了一些更改,主要是导入了ReactReduxContext。 我之所以特别提及,是因为我认为这与这些更改有关。

我尝试了什么

我在特定文件中放入了debugger条语句,发现以下内容:

  • injectReducer文件运行并获取正确的道具
  • 我认为
  • injectSaga文件根本没有运行,因为它在执行之前就崩溃了。但是我不知道在哪里,为什么。

我知道这很难解决,因为这是一个很大的样板代码,但是您是我的最后希望(我已经在这里创建了一个问题:https://github.com/flexdinesh/react-redux-boilerplate/issues/38)。

也许其中一个拥有更多经验的人可以找出问题所在(可能是由于该存储库的最新版本与当前提交之间的差异,或者是错误消息)。 / p>

我真的没有更多的“特定于问题”的代码了,因为它实际上可以是任何东西。

如果有人想帮助我,这里是与该样板相同结构的当前回购协议,但带有我自己的代码: https://github.com/SelfDevTV/forum-creator/tree/noImmutable

master分支正在工作,这是在我“迁移”到新版本之前进行的,并且没有任何修改和其他更改。 noImmutable分支是“问题子代”。

1 个答案:

答案 0 :(得分:0)

我的天哪,感觉真好。 我只是将仓库与样板仓库进行了比较,如下所示:

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