将单独的信息传递到哈希渲染中
Passing separate information into a hash render
假设我有一个 objects 的散列,我想在我的 parent 的渲染中渲染:
renderChild: function(child) {
return (
<Child key={child}/>
);
},
render: function() {
return (
<div>
{Object.keys(hashObj).map(this.renderChild)}
</div>
);
}
但是我还有一个变量要发送给这个 renderChild。
解决此问题的最佳方法是设置状态,还是我可以通过地图渲染以某种方式将道具向下发送到 this.renderChild
?
类似的东西(这是错误的,因为我知道它不起作用):{Object.keys(hashObj).map(this.renderChild, someVariable)}
我想通过地图中的道具发送它,这样我就不需要跟踪状态了。
想知道这是否可能?
您可以传入 调用 this.renderChild
的匿名函数,而不是直接引用它。不要忘记确保 map
使用 this
:
的正确值
render: function() {
return (
<div>
{Object.keys(hashObj).map(function(item) {
return this.renderChild(someVariable);
}, this)}
</div>
);
}
假设我有一个 objects 的散列,我想在我的 parent 的渲染中渲染:
renderChild: function(child) {
return (
<Child key={child}/>
);
},
render: function() {
return (
<div>
{Object.keys(hashObj).map(this.renderChild)}
</div>
);
}
但是我还有一个变量要发送给这个 renderChild。
解决此问题的最佳方法是设置状态,还是我可以通过地图渲染以某种方式将道具向下发送到 this.renderChild
?
类似的东西(这是错误的,因为我知道它不起作用):{Object.keys(hashObj).map(this.renderChild, someVariable)}
我想通过地图中的道具发送它,这样我就不需要跟踪状态了。
想知道这是否可能?
您可以传入 调用 this.renderChild
的匿名函数,而不是直接引用它。不要忘记确保 map
使用 this
:
render: function() {
return (
<div>
{Object.keys(hashObj).map(function(item) {
return this.renderChild(someVariable);
}, this)}
</div>
);
}