Javascript 在存储阵列中存储保持其自身内部不可变状态的对象
在开始之前,请允许我说,我无意在React/Redux应用程序中实现以下内容。这个问题只是假设性的 下面的代码使用Redux在数组中生成Redux存储对象数组。每个存储都能够维护自己的内部状态对象,因为Redux就是这样做的 我的问题,尽管很简单,是一个存储对象数组,它能够保持自己的内部状态,不变性吗 是否可以在应用程序中传递此数组,并通过通过stores数组索引将操作发送到适当的存储区来更新存储区内的状态,而不会发生变化?i、 e.Javascript 在存储阵列中存储保持其自身内部不可变状态的对象,javascript,redux,Javascript,Redux,在开始之前,请允许我说,我无意在React/Redux应用程序中实现以下内容。这个问题只是假设性的 下面的代码使用Redux在数组中生成Redux存储对象数组。每个存储都能够维护自己的内部状态对象,因为Redux就是这样做的 我的问题,尽管很简单,是一个存储对象数组,它能够保持自己的内部状态,不变性吗 是否可以在应用程序中传递此数组,并通过通过stores数组索引将操作发送到适当的存储区来更新存储区内的状态,而不会发生变化?i、 e.存储[0]。分派({type:'VALUE1'}) 如果数组需
存储[0]。分派({type:'VALUE1'})
如果数组需要删除一个存储,我想您可以使用array.filter
返回一个新的存储对象数组?多谢各位
import { createStore } from 'redux'
const fake = function fakeReducerFunction(state, action) {
switch (action.type) {
case 'VALUE1':
// Return new state object
return
case 'VALUE2':
// Return new state object
return
default:
return
}
}
const numStores = 10
const create = function createArrayOfStores(counter = 0, array = []) {
const store = createStore(fake)
if (counter === numStores) return array
return create(counter + 1, [...array, store])
}
const stores = create()
stores[0].dispatch({ type: 'VALUE1' })
在回答这个问题时,如果不理解您真正想要完成的是什么,以及为什么您会首先尝试这样的事情,那么就很难回答这个问题。我问这个问题是因为我构建了一个使用多语言持久性的API(Neo4j、MongoDB、Postgresql和Redis)我使用Redux存储的概念为每个请求创建一个内部状态对象,该对象在请求遍历不同的数据库时跟踪该请求,并允许我进行完全控制,并在其中一个数据库出现故障时执行回滚更改等操作。我想把目前的单个存储和一个巨大的reducer分解成单独的存储。如果不了解您真正想要完成的是什么,以及为什么您会首先尝试这样的东西,那么很难回答这个问题。我问这个问题是因为我构建了一个使用polyglot持久性的API(Neo4j、MongoDB、Postgresql和Redis)我使用Redux存储的概念为每个请求创建一个内部状态对象,在请求遍历不同的数据库时跟踪请求,并允许我拥有完全的控制权,并在其中一个数据库出现故障时进行回滚更改。我想将当前的单个存储和一个巨大的缩减器拆分为单独的存储.