【发布时间】:2018-06-17 07:58:08
【问题描述】:
我在 reducer 中有一个不可变的状态:
const initialState = fromJS({
rates: [],
fromDialogOpen: false,
mealPlans: [],
roomTypes: [],
editRateFormOpen: false,
rateToEdit: "",
selectedDate: moment().toDate(),
selectedRoomType: null,
selectedMealPlan: null
});
我做了一个 api 调用,结果是一个空数组 [] 或对象数组
[
0: Object { doubleRackRate: 200, singleRackRate: 120, mealPlan: "AI", … }
1: Object { doubleRackRate: 12, singleRackRate: 1200, mealPlan: "AI", … }
2: Object { doubleRackRate: 12, singleRackRate: 12, mealPlan: "AI", … }
3: Object { doubleRackRate: 12, singleRackRate: 12, mealPlan: "AI", … }
4: Object { doubleRackRate: 12, singleRackRate: 12, mealPlan: "AI", … }
]
作为 action.payload 发送状态更新!
当我从 API 调用收到数组时,我需要将我的费率状态更新为我收到的值 - 即空数组或对象数组!!
我该怎么做? 我试过了:
return Object.assign( ...state, {rates:action.payload})
但这没有用!!
【问题讨论】:
-
尝试:return Object.assign({}, state, { rates: action.payload || [] }); .希望您的 action.payload 包含结果数据/数组。
标签: reactjs react-redux