[英]Add item to an element of an array in Redux
我正在嘗試讓我的redux減速器執行以下操作:
但是,我輸出以下內容:
以下是我用來嘗試此操作的代碼。 我試圖將action.userHoldings包含在coinData數組中,但這也最終會出現在不同的行而不是同一對象內。 我的目標是使coinData的第0個元素內的userHoldings與第一個圖像中的投資組合數組中的userHoldings相似。
import * as actions from '../actions/fetch-portfolio';
const initialState = {
coinData: [],
userHoldings: ''
};
export default function portfolioReducer(state = initialState, action) {
if (action.type === actions.ADD_COIN_TO_PORTFOLIO) {
return Object.assign({}, state, {
coinData: [...state.coinData, action.cryptoData],
userHoldings: action.userHoldings
});
}
return state;
}
我想你想做這樣的事情。
return Object.assign({}, state, {
coinData: [ {...state.coinData[0],cryptoData: action.cryptoDatauserHoldings: action.userHoldings}, ...state.coinData.slice(1) ],
});
}
slice(1)將獲取除第0個元素之外的所有元素。 對於第一個元素,您可以按自己喜歡的方式構造對象。 這應該可以解決問題。 Slice會返回一個新的數組,這與拼接/推入或其他在變徑器中安全使用的數組不同。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.