为什么Redux没有将状态传递给订阅的函数?

时间:2016-09-01 07:04:52

标签: redux

为什么Redux只是将新状态推送到监听器(作为参数),就像许多回调一样?

for (var i = 0; i < listeners.length; i++) {
    listeners[i](currentState)
}

所以我们可以......

store.subscribe(state => {
    // ...just use it here...
})

...而不必打电话

store.subscribe(() => {
    store.getState() // ?
})

1 个答案:

答案 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在这里,但我不喜欢它。所以请不要再读了。的: - )