Javascript Redux React从API创建初始状态
如何从API定义Javascript Redux React从API创建初始状态,javascript,node.js,reactjs,redux,immutable.js,Javascript,Node.js,Reactjs,Redux,Immutable.js,如何从API定义initialState 行动 减速器 在减缩器中如果我这样定义我的初始状态,它会工作: initialLentItems: Immutable.fromJS([ { "lent_item_id": 5648, "vendor": "Vendor A", "product": "Product A", "variant": "Variant A", }, { "lent_item_id": 564
initialState
行动
减速器
在减缩器中
如果我这样定义我的初始状态
,它会工作:
initialLentItems: Immutable.fromJS([
{
"lent_item_id": 5648,
"vendor": "Vendor A",
"product": "Product A",
"variant": "Variant A",
},
{
"lent_item_id": 5648,
"vendor": "Vendor B",
"product": "Product B",
"variant": "Variant B",
}
]),
提前感谢。在
组件中,将装载您的Redux根元素(由提供程序包装并接收存储的元素),您可以调度fetchLenItems
函数来设置初始状态。什么不适合您?如果我们采用这种方法,则不会返回我想要的列表,根元素不是成为获取许多不同组件状态的一个垃圾场吗?如果用户在使用您的站点时从未访问过许多页面/组件,我们是否会不必要地获取数据?
import * as types from '../constants/ActionTypes'
import { combineReducers } from 'redux'
import Immutable from 'immutable'
const initialState = {
initialLentItems: [],
lentItems: []
}
function initialLentItems(state = initialState.initialLentItems, action) {
// return state
switch (action.type) {
case types.FETCH_LENT_ITEMS:
switch (action.status) {
case 'success':
return {
initialLentItems: action.locations,
lentItems: []
}
case 'error':
return {
initialLentItems: Immutable.List(),
lentItems: []
}
default:
return Object.assign({}, state, { isLoading: true })
}
default:
return state
}
}
const rootReducer = combineReducers({
initialLentItems
})
export default rootReducer;
initialLentItems: Immutable.fromJS([
{
"lent_item_id": 5648,
"vendor": "Vendor A",
"product": "Product A",
"variant": "Variant A",
},
{
"lent_item_id": 5648,
"vendor": "Vendor B",
"product": "Product B",
"variant": "Variant B",
}
]),