我正在写一个react / redux应用程序,它有一个不时触发事件的Job对象。在这些事件上,用户应该做出反应。我可以轻松编写显示此类工作或事件的React组件,但不知道何时将逻辑放在
当然,一旦我进入商店,我也可以创建通知。
render()
没有的React容器中处理这样的逻辑吗? 我对选项二的问题是我不知道如何从完全特殊的代码访问redux存储,因为我的商店不是全局对象。
你推荐什么?
答案 0 :(得分:3)
一般来说,您需要访问存储的代码(用于调度或接收状态更新)的两个位置是中间件或连接组件。如果您特别想要响应正在进行的操作,那么您将需要使用中间件。
几周前,我在聊天讨论中实际上将一个示例计时器中间件组合在一起。我只是将它作为一个要点粘贴在这里作为例子:https://gist.github.com/markerikson/ca96a82d6fdb29388aca4052a9455431。说明在后台异步执行某些操作的想法。
您可能还想查看我的Redux插件目录中的中间件列表:https://github.com/markerikson/redux-ecosystem-links/blob/master/middleware.md。许多执行背景逻辑的方法示例。
最后,https://github.com/yelouafi/redux-saga(它本身就是一个中间件)是一个相当常见的用于执行背景逻辑的库。