Mobx可观察到的映射到js数组

时间:2018-07-19 13:55:58

标签: javascript reactjs mobx

我有一个组件,该组件作为道具传递了“ form。$('userProfile')。fields”的值,这是一个可观察的地图,如console.log屏幕快照所示:

class Location extends React.Component<*> {
    render() {
        console.log(this.props.fields);
        this.props.fields.map(function(i, el){
            console.log(i, el)
        })
        return (<h1>location fields</h1>);
    }
}

enter image description here

是否可以执行以下操作:

this.props.fields.map(function(i, el){
    console.log(i, el)
    // render React components
})

您可以在其中根据从map方法内部获取的值来渲染子组件?

1 个答案:

答案 0 :(得分:1)

您可以在可观察的Map上使用values or entries来获取所有值或条目的迭代器,并将其散布在新数组中并映射到该数组上:

class Location extends React.Component<*> {
  render() {
    return (
      <div>
        <h1>location fields</h1>
        {[...this.props.fields.entries()].map(function(entry) {
          return (
            <div key={entry[0]}>
              {entry[0]}: {entry[1]}
            </div>
          );
        })}
      </div>
    );
  }
}