切换反应路由器后状态不起作用

问题描述 投票:-1回答:1

================================================ =========================

忘记更新... -_- |||

================================================ =========================

更新:

我想我只是想出问题了。我检查了反应路由器文件。它确实提到了有关“阻止更新”的内容。也许我需要更改路由器策略。仍然需要帮助!谢谢!

================================================ =========================请检查以下屏幕截图:

1. Loading Page & Fetch data. Everything is okay.

2. Block a movie. And it is no longer shown in the list.

3. Switch Router to check Block list. And the blocked movie is there. So far so good!

4. Switch Router back to Main list... Oops... the blocked movie is shown again! It should be not shown. But all the state is correct.

这里是我的demo's link

问题是:我拥有所有正确的状态。我可以正确地阻止电影。但是,为什么在切换路由器后它会出错?

所以!我的路由器写错了吗?也许Provider中的商店没有状态?还是我的减速器调节不正确?还是只是组件没有重新渲染?

刚刚开始学习react-redux。该代码可能并不聪明,但它们很容易阅读。

有人在那里帮我,请!谢谢。

javascript reactjs redux react-router redux-saga
1个回答
0
投票

每次重新加载电影列表页面时。 fetchDefaultMovies通过AJAX调用触发,并刷新状态和存储中的列表。

redux开发工具中的状态显示正确的原因是因为它在API重置之前读取了您以前的状态。

您可能需要修改传奇中的requestMovies函数以停止重新引用,或者使用https://www.npmjs.com/package/react-keep-alive之类的内容来缓存整个电影列表组件,以防止重新引用。

© www.soinside.com 2019 - 2024. All rights reserved.