为什么Redux只是将新状态推送到监听器(作为参数),就像许多回调一样?
for (var i = 0; i < listeners.length; i++) {
listeners[i](currentState)
}
所以我们可以......
store.subscribe(state => {
// ...just use it here...
})
...而不必打电话
store.subscribe(() => {
store.getState() // ?
})
答案 0 :(得分:2)
好的,好像已在Redux's issue tracker on GitHub中多次提出这个建议。
以下是开发者对此所说的内容:
#303 (Jul 27, 2016)“subscribe
[是]低级API。” - gaearon,项目创始人
#1514 (Mar 11)“在任何情况下,只有新状态不是很有用。你可能也想要以前的状态。而不仅仅是之前的状态 - 可能是你关心的特定部分。指出你不妨写下你自己的助手来做这件事。“ - gaearon
#1832 (Jun 27)“简短版本是Redux只提供最简单的API。”
这只是其中的一小部分。很多人都问过这个问题。
我会写一个TL; DR在这里,但我不喜欢它。所以请不要再读了。的: - )强>