這裏有一個簡單的測試,我已經寫了什麼,我想用一個不可變對象添加具有鍵值對的新對象的不可變對象
it('adds a new map with loaded data where the key is the ticker symbol',() => {
const state = Map();
const tickers = List.of('AAPL', 'TSLA', 'GOOGL');
const nextState = addTickerKeys(state, tickers);
expect(nextState).to.equal(fromJS({
tickers: ['AAPL', 'TSLA', 'GOOGL'],
data: {
AAPL: {},
TSLA: {},
GOOGL: {}
}
}));
})
如何添加數據對象做及對應的鍵與空數據進入狀態對象?
這裏是我到目前爲止已經試過
export function addTickerKeys(state, tickers) {
const newState = setTickers(state, tickers);
const tickerList = newState.get('tickers');
return tickerList.forEach((value, key, iter) => {
return newState.setIn(['data', key]);
})
}
我已經試過替代值,鍵和ITER到位回報newState.setIn([「數據」,關鍵])按照文檔( https://facebook.github.io/immutable-js/docs/#/Map/set)
然而,我一次比一次相同的響應回,
AssertionError: expected 3 to equal { Object (size, _root, ...) }
有人能向我解釋什麼錯?這似乎是一個足夠簡單的任務,但我似乎正在努力與不可變的對象和TypeScript中的文檔沒有幫助。