D3 is great. As the jQuery of the web data visualization world, it can do everything you can think of.
Add React, and you can make D3 even better.
Just like jQuery, D3 is powerful but low level. The bigger your visualization, the harder your code becomes to work with, the more time you spend fixing bugs and pulling your hair out.
React can fix that.
You can read my book React+d3js ES6 for a deep insight, or keep reading for an overview of how to best integrate React and D3. In a practical example, we'll see ...