0
我正在寫我的第一個更大的反應/ Redux /流星應用程序。我知道Redux並不一定需要在流星應用程序中,但我想使用它。爲什麼我的Redux狀態是嵌套的?
我使用Meteor從MongoDB加載記錄,然後我想將此對象存儲在我的Redux商店中。但是對象被嵌入到商店中,我不知道爲什麼會出現這種情況。
這是到目前爲止我的代碼:
行動負荷遠程記錄
export const loadRecord = (id) => {
return dispatch => {
Meteor.call('loadRecord', id, (error, result) => {
if (!error) {
dispatch({
type: TYPE,
result
});
} else {
dispatch({
type: TYPE_ERROR,
error,
});
}
});
};
};
減速應該更新我的商店
const initialState = {
singleRecord: {}
};
export function singleRecord(state = initialState, action) {
switch (action.type) {
case TYPE:
return {
...state,
singleRecord: action.result
};
default:
return state;
}
}
更店內我希望像這樣:
singleRecord: {
id:"1223",
text:"abcde"
}
但是我得到是:
singleRecord: {
singleRecord {
id:"1223",
text:"abcde"
}
}
所以我的商店得到更新和一切工作按預期的事實旁邊,我的記錄被莫名其妙地嵌套。 我想我錯過了一件基本的事情,或者我錯誤地實現了它。如果有人能解釋我是否是預期行爲,或者如果不是,可以告訴我爲什麼我的代碼不能按預期工作,這將是非常好的。
在此先感謝
非常感謝。你的答案解決了我的問題。忘了做解包。也感謝不同的實現。 – grahan