React:更好地映射这些数据的方法

时间:2017-10-10 09:58:24

标签: javascript reactjs jsx axios

所以这是以前问题的延续。我刚刚开始使用react,我已经设法获取一个xml文件,将其转换为json,然后遍历数据。但我认为应该有更好的方法来完成我已经完成的工作,因为我使用了我在另一个SO答案中找到的函数,然后在其中使用了map()。

无论如何,这是我的代码细分。

获取xml并转换为json:

Umbraco.Web.WebApi.UmbracoApiController

控制台中json的结果:

componentDidMount() {
    axios.get('https://gist.githubusercontent.com/eMatsiyana/e315b60a2930bb79e869b37a6ddf8ef1/raw/10c057b39a4dccbe39d3151be78c686dcd1101aa/guestlist.xml')
    .then(res => {
      const xml = XMLMapping.load(res.data);
      var guests  = XMLMapping.tojson(xml);
      this.setState({guests: guests});
    });
  }

我使用此功能映射对象,然后在其中使用map():

Object{
  dataset{
   record{
    0{
      company{
        $t: "Skippad"
      }
      first_name{
        $t: "Keith"
      }
      last_name{
        $t: "Cook"
      }
    }
    1{
      company{
        $t: "Skippad"
      }
      first_name{
        $t: "Keith"
      }
      last_name{
        $t: "Cook"
      }
    }
   }
  }
}

这就是数据的最终映射:

function mapObject(object, callback) {
  return Object.keys(object).map(function (key) {
    return callback(key, object[key]);
  });
}

有没有更好的方法可以在不使用mapObject()和map()的情况下执行此操作?

非常感谢任何形式的反馈或建议!

0 个答案:

没有答案