将单独的信息传递到哈希渲染中

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>
  );
}