In React's terminology, there are five core types that are important to distinguish:
ReactElement / ReactElement Factory ReactNode ReactComponent / ReactComponent Class
React Elements
The primary type in React is the ReactElement. It has four properties: type, props, key and ref. It has no methods and nothing on the prototype.
You can create one of these objects through React.createElement.
var root = React.createElement('div');
To render a new tree into the DOM, you create ReactElements a