我有一个名为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;
答案 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;