为什么订阅不能得到action.I不知道以下是否是一个好主意
listeners.slice().forEach(listener => listener())
//to
listeners.slice().forEach(listener => listener(action))
订阅者应该对新状态做出反应,而不是对发生的事情做出反应。
这对于确保一致性很重要。
您可以使用自定义中间件来解决它。
请参见:
https://github.com/rackt/redux/issues/347
https://github.com/rackt/redux/issues/580
在我的例子中,动作在“调度”完成后被发送到服务器。 服务器与客户端具有相同的 Redux 存储,并且操作更改服务器状态以与客户端状态同步。
在这种情况下,如果给“订阅侦听器”提供 action 参数会很方便。
当然,这可以使用中间件来实现。 但如果这是“订阅侦听器”的默认方式可能会更好。
通过在服务器和客户端准备相同的 Redux 存储,服务器端状态操作变得与客户端相同。
在这个概念中,动作是一个状态同步器,它在包括服务器在内的所有连接的客户端之间传输。
这正是中间件的用例。
最有用的评论
订阅者应该对新状态做出反应,而不是对发生的事情做出反应。
这对于确保一致性很重要。
您可以使用自定义中间件来解决它。
请参见:
https://github.com/rackt/redux/issues/347
https://github.com/rackt/redux/issues/580