Linters are tools used to increase code quality, configured manually, and run automatically when code changes.
ESLint supports JSX, making it very popular with the React community. ESLint is superior for its ability to detect problems and has more rules available than other linters. While it does require configuration, ESLint has many presets available that make getting started a breeze.
JSHint comes loaded with sensible defaults, highly opinionated, allows for a lot more configuration than JSLint, provides the perfect blend of ease and functionality.