The following should be an introduction to combining D3 with React to create reusable chart components. This is not intended to be an introduction into D3 nor React.
D3s approach to data visualization fits well with the React way of building UI components and App structuring. React encourages to figure out how to structure a number of components to enforce a data flow that moves from top down, meaning that lower level components receive data and render it at best and only keep state if needed, but never manipulating any data that might affect the higher up components.
Another strong correlation between the libraries is their respective component lifecycle. D3 has enter, update and exit.