我正在React应用程序中渲染d3地图。 给出以下内容:
<path onClick={evt => this.mapClicks(evt, d)} mapData={this.getMapData(d)} />;
将mapData
传递到mapClicks
函数中的正确React方法是什么?
答案 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