私自身のいくつかのさらなる研究の後、私は、これはチャートのReact Higher-Order Component (HOC)を作成することによって達成することができました。
HOCは、ベース/ラッパー・コンポーネントのように作用するチャートデータを通過し、必要に応じて任意の特性を高めるであろう。リアクトライフサイクルメソッドを使用して、それが呼び出すだけであれば、正しい方法を実装して、多分ES6クラスや関数のように記述することができ、チャートインスタンス上の同様の方法(破棄、作成、更新)、
function withChart(ChartComponent) {
class ChartHOC extends React.Component {
constructor(props) {
super(props);
this.chart = new ChartComponent();
}
componentDidMount() {
this.chart.create(this.container);
}
componentDidUpdate() {
this.chart.update();
}
render() {
return (
<div className='chartContainer'ref={(el) => { this.container = el; }}></div>);
}
}
return ChartHOC;
}
class BarChart {
// Mandatory function when using chartHOC
create(containerEl) {
...
}
// Mandatory function when using chartHOC
update(props) {
...
}
}
// wrap the barChart with the chartHOC
const Example = withChart(BarChart);
私はchartHOCの削除されたバージョンと、ここでHOCを使用する非常に単純なBarChartの例を作成しました:https://jsfiddle.net/marcelk/vf51tvzf/
このアプローチは、私が望むものを正確に実現します。私はReactのライフサイクルメソッドを利用することができ、Reactの方法を継承し、チャートの動作や遷移などを管理するD3コードを書くことができます。
最初のGoogle検索結果:[React&D3のインタラクティブアプリケーション](https:// medium .com/@ Elijah_Meeks/interactive-applications-with-react-d3-f76f7b3ebc71) –
何をしていなくても、私たちはあなたに何かアドバイスをすることはできません。例を求めても話題にはならないので、それをすることはできません。あなたの質問は、特定の回答を与えることができる特定の質問を求めるSOプラットフォームにとっては広すぎます。https://stackoverflow.com/help/how-to-ask – Rob
@ChaseDeAndaあなたの権利。実際に自分の答えに基づいた投稿のうちの1つです。ちょうど私がここで自分のソリューションを共有すると思った。 –