reactjs - 动作完成时如何告诉 React-Redux 视图?
问题描述
抱歉,这里的主题行可能不清楚。
我的“添加评论”视图会触发开始操作。reducer 通过设置为 true 来响应启动操作isLoading
,这会导致视图显示它正在加载。当我的操作完成时,reducer 中的成功和失败都设置isLoading
为 false,并且活动指示器消失。
在失败的情况下,我可以将错误写入减速器,并且当减速器中存在错误时,我可以在视图中呈现错误,并且我可以在下次启动操作触发时清除减速器中的错误。
所以我可以告知我的错误观点,但是如何告知我的成功观点,并用评论列表替换评论?
我能想到的所有解决方案听起来都很笨拙和错误:
newReview
减速器中的一个属性,如果newReview
是真的,我的视图会呈现审查列表,然后触发“明确的新审查行动”?- 以某种方式存储
attemptedReview
并添加showList
需要检查attemptedReview
当前产品评论中是否存在的逻辑?更简单地说,该showList
逻辑还包括用户是选择显示列表还是显示表单的状态?
解决方案
我已经设法通过创建一个重置resetAction
redux 存储的新变量和一个名为 .reducer 状态的新变量来模拟这种行为。isSuccess
这样,当您的初始操作成功时,您将 设置isSuccess
为 true,然后您在各自的 Component 上捕获isSuccess
并处理您想要的逻辑(重定向或状态更改),最后调用,resetAction
以便 redux 存储恢复正常。
我想它有点笨重而且不优雅,但它确实有效。
推荐阅读
- python - 如何从角度应用程序调用 aws sagemaker 中的 python 文件?
- browser - 相机和麦克风辅助功能
- twitter-bootstrap - Bootstrap 5:为所有导航栏/导航项使用不同的字体(标题字体)
- python - numpy 按第一列搜索排序的多维数组
- import - 在 Julia 中创建共享模块的推荐方法是什么?
- apache-kafka - Spring Cloud Kafka Streams 与 Spring Cloud Stream 之间的区别?
- python - 如何在现有的 Django Web 应用程序项目中使用 Wagtail 创建新的博客页面
- python - 通过 python 在会话中使用代理
- html - 如何在 Bootstrap 4 导航栏中居中导航项并右对齐另一个?
- sms - SMS Retriever API 不适用于克隆的应用程序