I'm a bit surprised to see this on a site such as infoq, and being written by a developer from Thoughtworks.
If you have a 'complex project' you are going to need more than just ReactJS. It's like saying Handlebars templating is no good for large projects.
The reusability of components in a large project, and specifically the issues the author points out about interactivity between components, isn't supposed to be done in react, you're supposed to have a data (store) layer which manages the state of your components. This means the component itself is essentially just an template for your output.