Generally, you wouldn't use one
or the other. React would be used on the client side, and NodeJS might be used on the server side. The server side, being independent, could also be in any other language,
Java for example.
React could also be used for server-side rendering, so it could be used
with NodeJS.
I don't really see much of a scenario where they are competing.