Redux:将来自多个 json 文件的数据合并为一个状态
Redux: combine data from multiple json files into one state
我是 redux 的新手,正在尝试将初始状态映射到三个不同的 json 文件中进行存储。应用程序中的组件使用来自不同文件的位,但据我了解,商店需要一个单一的一切状态来传递给组件。
正确的做法是什么?
import data1 from './data1.json'
import data2 from './data2.json'
import data3 from './data3.json'
import storeFactory from './store'
const initialState = (localStorage["redux-store"]) ?
JSON.parse(localStorage["redux-store"]) :
data1 + data2 + data3
const store = storeFactory(initialState)
console.log(store.getState())
store.subscribe(saveState)
假设每个 JSON 的根是一个对象,我会使用 _.extend()
function from lodash 来处理这种事情:
import data1 from './data1.json'
import data2 from './data2.json'
import data3 from './data3.json'
combined = _.extend({},
data1,
data2,
data3
)
然后你可以像往常一样将该对象传递给 redux。
编辑:根据评论,如果每个 JSON 对象的结构都像
{
data: [{
key1: "value1",
key2: "value2",
...
}]
}
那么你必须像这样组合它们:
combined = _.extend({},
data1.data[0],
data2.data[0],
data3.data[0]
)
假设每个 data
的数组中确实只有一项。
我是 redux 的新手,正在尝试将初始状态映射到三个不同的 json 文件中进行存储。应用程序中的组件使用来自不同文件的位,但据我了解,商店需要一个单一的一切状态来传递给组件。
正确的做法是什么?
import data1 from './data1.json'
import data2 from './data2.json'
import data3 from './data3.json'
import storeFactory from './store'
const initialState = (localStorage["redux-store"]) ?
JSON.parse(localStorage["redux-store"]) :
data1 + data2 + data3
const store = storeFactory(initialState)
console.log(store.getState())
store.subscribe(saveState)
假设每个 JSON 的根是一个对象,我会使用 _.extend()
function from lodash 来处理这种事情:
import data1 from './data1.json'
import data2 from './data2.json'
import data3 from './data3.json'
combined = _.extend({},
data1,
data2,
data3
)
然后你可以像往常一样将该对象传递给 redux。
编辑:根据评论,如果每个 JSON 对象的结构都像
{
data: [{
key1: "value1",
key2: "value2",
...
}]
}
那么你必须像这样组合它们:
combined = _.extend({},
data1.data[0],
data2.data[0],
data3.data[0]
)
假设每个 data
的数组中确实只有一项。