React components
What are components in React and how can we create them?
To create a ReactComponent
we write a function that returns a ReactElement
:
var Wrapper = function(props) {
return React.createElement('div', { className: 'wrapper' });
}
We can then use these components like any DOM Node by passing it into a createElement
call:
React.createElement(Wrapper);
// -> <div class="wrapper"></div>
Our wrapper component isn’t very useful so far, since it doesn’t render its children:
React.createElement(Wrapper, {}, 'Hello World!');
// -> <div class="wrapper"></div> (😢 no "Hello World" visible!)
This is because our component function gets passed the properties (props
). In the last example we didn’t use the properties we got passed from the createElement(Wrapper)
call at all!
Let’s render the children that our Wrapper
gets passed:
var Wrapper = function(props) {
// Render the children we get passed from the createElement(Wrapper) call
return React.createElement('div', { className: 'wrapper' }, props.children);
}
Now the above example works perfectly:
React.createElement(Wrapper, {}, 'Hello World!');
// -> <div class="wrapper">Hello World</div>
Let’s try rendering our heading inside our Wrapper
component:
Get hands-on with 1400+ tech skills courses.