加载数组数据初始化 immutable.js
loading array data init immutable.js
我正在将数组数据加载到我的 reducer 中,这就是我目前的处理方式,它正在运行,是否有更好的更详细的方法来实现这一点?
我已经浏览过文档,但它们似乎是某种奇怪的象形文字形式
action.data = [{key: "value"},{key: "value2"}]
// ...
const initialState = Immutable.Map({
loading: false,
data: Immutable.List([]),
})
case RECEIVE_DATA:
return state
.set('data', Immutable.List(action.data.map(item => Immutable.Map(item))))
为什么使用Immutable.List.of
?
action.data = [{key: "value"},{key: "value2"}]
// ...
const initialState = Immutable.Map({
loading: false,
data: Immutable.List([]),
})
case RECEIVE_DATA:
return state
.set('data', Immutable.List.of(action.data))
您可能会发现 fromJS() 函数更简单:
fromJS() deeply converts plain JS objects and arrays to Immutable Maps
and Lists.
示例:
action.data = [{key: "value"},{key: "value2"}]
// ...
const initialState = Immutable.fromJS({
loading: false,
data: [],
})
// ...
case RECEIVE_DATA:
return state.set('data', Immutable.fromJS(action.data))
我正在将数组数据加载到我的 reducer 中,这就是我目前的处理方式,它正在运行,是否有更好的更详细的方法来实现这一点? 我已经浏览过文档,但它们似乎是某种奇怪的象形文字形式
action.data = [{key: "value"},{key: "value2"}]
// ...
const initialState = Immutable.Map({
loading: false,
data: Immutable.List([]),
})
case RECEIVE_DATA:
return state
.set('data', Immutable.List(action.data.map(item => Immutable.Map(item))))
为什么使用Immutable.List.of
?
action.data = [{key: "value"},{key: "value2"}]
// ...
const initialState = Immutable.Map({
loading: false,
data: Immutable.List([]),
})
case RECEIVE_DATA:
return state
.set('data', Immutable.List.of(action.data))
您可能会发现 fromJS() 函数更简单:
fromJS() deeply converts plain JS objects and arrays to Immutable Maps and Lists.
示例:
action.data = [{key: "value"},{key: "value2"}]
// ...
const initialState = Immutable.fromJS({
loading: false,
data: [],
})
// ...
case RECEIVE_DATA:
return state.set('data', Immutable.fromJS(action.data))