所以我相信我现在明白了react-redux的流程。但是,有些事情让我感到困惑。React-Redux list
现在我有一个正在工作的reducer更新状态,其操作为“ADD_ITEM”。这工作正常。但我希望这些数据能够坚持下去。所以我也将这个项目存储到我的数据库中。当页面刷新并重置状态时,我从服务器获取所有项目的列表并动态分配“ADD_ITEM”操作。这也工作正常,但我不确定这是否是正确的方法。
当我将状态连接到组件中的道具时,出现真正的问题。在componentwillmount()中,我调用populateItems()分派器,它动态地将项目添加到状态。然而,物品清单的道具似乎一次只能一个,所以我不能一次显示所有物品,但必须随着道具的到来不断更新清单。
对不起,我对react和redux都很陌生,但是这个问题是我绝对需要帮助的。如果您需要澄清或代码片段,我会很乐意分享。
编辑:下面是一些代码片段
let itemID = 0;
export function populateList(id) {
return (dispatch) => {
return axios.get(`/api/item/getItems?ID=${id}`).then((res) => {
console.log("Response:", res);
res.data.map((data) => {
dispatch(addToItemList(data));
})
})
}
}
export function addToItemList(data) {
console.log(data);
return {
type: ADD_ITEM,
id: itemID++,
itemName: data.name,
itemDescription: data.description
}
}
export function addItem(data) {
return (dispatch) => {
return axios.post('/api/item/add', data).then(res => {
dispatch(addToItemList(data));
})
}
}
的减速只是增加了预先存在的列表。 如果我要更改操作以批量添加数据库中的整个列表,那么与手动添加一个项目相比,我将不得不解析该列表。
您可以使用一次设置所有项目的操作 – gustavohenke
如果可以,请将所有相关的代码放在这里,以便于帮助您。 –
请包括代码 – ickyrr