这里有一个简单的测试,我已经写了什么,我想用一个不可变对象添加具有键值对的新对象的不可变对象
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中的文档没有帮助。