Can you use React as your front-end for WordPress? Yes and yes. In fact there are 2 major ways your WordPress powered site or application can use React. The first is to integrate React into your custom WordPress theme. The second is to go headless, which allows you to use a React application as your front-end and relies on the WordPress API to feed data. Going headless is a relatively big undertaking and divergence from WordPress, in the sense that your front-end simply is not WordPress anymore. You can actually any front-end because all WP is providing is JSON data through the API. Doing this means you’re on your own for the entire front-end development, but for some developers this is what they want, some organization want a fully separate front-end built with React or VueJS, or any other front-end application framework.
One key difference between the theme embed method where you add React to your WP theme, versus a headless approach with a React app front-end is that you’re more likely with headless to be able to use other common React packages like React Router. If React is embedded in your theme, routing is still provided by WordPress. You can have the entire site be a single React app, or you can add multiple React apps to various parts of your site that you want rendered in React, while still keeping regular PHP/HTML templates for other parts. It’s this ability to mix-n-match that is sometimes helpful especially when you’re adding a React app to an already existing site. Rebuilding the entire site in React might not only be infeasible, but also not necessary or even helpful. For instance is there any real advantage to rebuilding an already great WordPress blog section using React? If anything this may provide a disadvantage for search optimization, if that’s a priority for that section. Instead with React embed into a custom theme, you can keep that blog section and many other content sections of your WP site running as they are. Then add the React app where it’s needed.