通过多个类访问reactjs数据

时间:2018-04-28 20:38:30

标签: python reactjs

我有一个名为MyDictionary的reactjs类,它呈现python文件发送的数据。这个类返回一个字典结构。我想通过一个单独的类只从MyDictionary访问几个元素,通过一个单独的类从MyDictionary访问一组不同的元素。我尝试React.createElement(SomeOtherClass, {,如下所示,但这不起作用......我错过了什么?

class MyDictionary extends React.Component {
render() {
  return this.props.results.map((result, index) =>
    React.createElement(
      "div",
      { className: "col-sm-12" },
      React.createElement(SomeOtherClass, {
        key: result.id,
        name: result.name,
        index: result.index,
        activity: this.props.index + 1,
        images: this.props.image_labels
      })
    )
  );
 }
}
return MyDictionary;

1 个答案:

答案 0 :(得分:0)

看起来回调函数中的this运算符不符合您的预期。

解决此问题的最简单方法是在地图调用之前为this创建一个var。

var _this = this;

然后在回调中使用_this代替this

您还应该阅读javascript闭包。

编辑:render()应该返回一个根元素。

class MyDictionary extends React.Component {
  render() {
    var _this = this;
    var children = this.props.results.map((result, index) =>
      React.createElement(
        "div",
        { className: "col-sm-12" },
        React.createElement(SomeOtherClass, {
          key: result.id,
          name: result.name,
          index: result.index,
          activity: _this.props.index + 1, // using _this
          images: _this.props.image_labels // using _this
        })
      )
    );
    return React.createElement("div", null, children);
  }
}
return MyDictionary;