The ReactJS Getting Started Guide states that the recommended way of using React is combined with npm.
This is great but poses a problem when trying to use JSHint. The default example outputs a single JS file containing both your code and the React library. The end result is the bundle when linted contains code you don't and shouldn't need to care about.
babel --presets react app.js --out-file main.js
Simply take the result of the transform and perform your linting process.
This may seem obvious but I did lose some time realising the benefit of offline transforms.
Offline transforms do require that you either bundle the transformed file with React, or you simply include the standalone JS scripts in your html. This can be done after the fact. JSHint can then play nicely with your React apps without the need for other tooling such as wrappers or text editor extensions.