Most Common: ES6+ & JSX
ES5 is fully supported. React can be used without using any new or future JavaScript language features. The documentation has examples for ES5 syntax.
ES6 is fully supported. React can be used with all new and future JavaScript language features, often alongside a transpilation library. The documentation has examples for ES6 syntax.
React does not provide official type definitions for React, but the community definitions are widely used and actively maintained. Additionally, Microsoft has an official TypeScript-React-Starter project.
Being a Facebook library like React, Flow is widely used both by the React development team and the community that builds with React.
JSX was written for and released with React and will be used by most projects using React. While not explicitly required, JSX provides significant productivity boosts and improves code clarity when working with React.