Redux是否有更好的方法来处理非常大的状态对象?

Redux是否有更好的方法来处理非常大的状态对象?,redux,Redux,我们正在计划一个电子应用程序,我们正在考虑Redux。该应用程序将有一个巨大的状态,可能从几十个或数百个文件中读取数据。在进行一些研究以了解Redux时,我发现reducer方法决不能改变状态,并且必须创建具有任何更改的新状态。如果应用程序的状态非常大,这将是一个问题,因为现在我们需要深入复制状态中的所有内容(它将是一组嵌套对象),并且我们将占用两倍的内存来保存一次状态,然后旧状态将被删除。这似乎一点也不理想 在Redux中,有没有更好的方法来处理这种情况?您不应该深入复制。事实上,我要说的是,

我们正在计划一个电子应用程序,我们正在考虑Redux。该应用程序将有一个巨大的状态,可能从几十个或数百个文件中读取数据。在进行一些研究以了解Redux时,我发现reducer方法决不能改变状态,并且必须创建具有任何更改的新状态。如果应用程序的状态非常大,这将是一个问题,因为现在我们需要深入复制状态中的所有内容(它将是一组嵌套对象),并且我们将占用两倍的内存来保存一次状态,然后旧状态将被删除。这似乎一点也不理想


在Redux中,有没有更好的方法来处理这种情况?

您不应该深入复制。事实上,我要说的是,深度复制与redux方式的直觉相反

大多数情况下,您将通过引用进行复制,这非常快

如果你担心你的州树太大,我建议你把它分解


我目前正在运行一个redux应用程序,它有200多个减速机。我还没有发现redux带来的瓶颈,即使是在便宜的android移动设备上。

但是作者(在egghead.io上)说,状态需要完全不可变。他甚至不遗余力地确保减速机在原始状态()下不会碰到任何东西。您将使用
Object.assign
Array.slice
来实现这一点。你应该在这一层面上研究并帮助你。是的,但是如果这对于大量的数据来说是不可行的呢?是的,你肯定是想得太多了。浅拷贝是您所需要的,只是围绕指针和引用进行拷贝,而不是所有的数据。另请参阅关于此主题的Redux常见问题解答,位于。此外,如果您有嵌套数据,Redux建议将其规范化并尽可能将其展平。看见