ReactDOM.render(componentToRender, targetNode)
. The first argument is the React component that you want to render. The second argument is the DOM node that you want to render that component within.
React components are passed into ReactDOM.render()
a little differently than JSX elements. For JSX elements, you pass in the name of the element that you want to render. However, for React components, you need to use the same syntax as if you were rendering a nested component, for example ReactDOM.render(<ComponentToRender />, targetNode)
. You use this syntax for both ES6 class components and functional components.
Fruits
and Vegetables
components are defined for you behind the scenes. Render both components as children of the TypesOfFood
component, then render TypesOfFood
to the DOM. There is a div
with id='challenge-node'
available for you to use.
TypesOfFood
component should return a single div
element.
testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(TypesOfFood)); return mockedComponent.children().type() === 'div'; })(), 'The TypesOfFood
component should return a single div
element.');
- text: The TypesOfFood
component should render the Fruits
component after the h1
element.
testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(TypesOfFood)); return mockedComponent.children().childAt(1).name() === 'Fruits'; })(), 'The TypesOfFood
component should render the Fruits
component after the h1
element.');
- text: The TypesOfFood
component should render the Vegetables
component after Fruits
.
testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(TypesOfFood)); return mockedComponent.children().childAt(2).name() === 'Vegetables'; })(), 'The TypesOfFood
component should render the Vegetables
component after Fruits
.');
- text: The TypesOfFood
component should render to the DOM within the div
with the id challenge-node
.
testString: assert((function() { const html = document.getElementById('challenge-node').childNodes[0].innerHTML; return (html === 'TypesOfFood
component should render to the DOM within the div
with the id challenge-node
.');
```