将点击元素中的prop作为参数传递给函数-React / D3

时间:2018-10-11 17:21:54

标签: javascript reactjs d3.js

我正在React应用程序中渲染d3地图。 给出以下内容:

<path onClick={evt => this.mapClicks(evt, d)} mapData={this.getMapData(d)} />;

mapData传递到mapClicks函数中的正确React方法是什么?

2 个答案:

答案 0 :(得分:0)

我建议使用处理程序创建器:

getPathClickHandler(data) {
  return (e) => {
    // use data here
  };
}
...
<path onClick={this.getPathClickHandler(d)} />;

答案 1 :(得分:0)

getPathClickHandler(d) {
    const mapData = this.getMapData(d);
    return (e) => {
       // event, d, mapData can be used here
    };
}


<path onClick={this.handleClickForPath(d)} />;

但是,如果可能的话,在上下文之外进行每次计算,仍然会在每次反应渲染时都调用this.getMapData