如何在JSX中映射ImmutableJS地图列表?

时间:2016-01-27 00:08:57

标签: reactjs immutable.js

我在Redux商店中有一个看起来像这样的ImmutableJS结构:

Immutable.fromJS([{
  foo: 'bar'
}, {
  foo: 'baz'
}]);

它被映射到我的React组件中的this.props.items。在我的React渲染函数中,我正在尝试这样做:

this.props.items.map(item => {
  return (
    <div>{item.foo}</div>
  );
});

什么都没有渲染。但是,如果我.toJS()列表如下,那么它可以工作:

this.props.items.toJS().map(item => {
  return (
    <div>{item.foo}</div>
  );
});

我的问题是:.toJS()正确的方法吗?如果没有,我做错了什么?

1 个答案:

答案 0 :(得分:6)

如果您将item.foo替换为item.get('foo'),那么您应该好好去。函数Immutable.fromJS深度转换为不可变结构。