<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.0.0-alpha-5fa4d79b0-20211008/umd/react.production.min.js" integrity="sha512-5PVmWGoNJocWPdQJmJd1aRbz3cFcFgXctWKLWcitqtgX64jF+ttfg9g2oLltmeQ1HUo3gT6QchaMK3h+S+JG4Q==" crossorigin="anonymous"
referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.0.0-alpha-5fa4d79b0-20211008/umd/react-dom.production.min.js" integrity="sha512-pUsjUv+9XgkTn+UbLyNIT4YNZPF2p0E45FBKmDL7Ti8iovYwp2CUkQs6Q7J9y5scLxWaOM+T5jJc0ls+WHUcmQ=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script type="text/babel">
class Citrus extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Citrus:</h2>
</div>
);
}
};
class NonCitrus extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Non Citrus:</h2>
</div>
);
}
};
class Vegetables extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Vegetables:</h2>
</div>
);
}
};
class Fruits extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Fruits:</h2>
{ / Change code below this line / }
<NonCitrus />
<Citrus />
{ / Change code above this line / }
</div>
);
}
};
class TypesOfFood extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h1>Types of Food:</h1>
{ / Change code below this line / }
<Fruits />
{ / Change code above this line / }
<Vegetables />
</div>
);
}
};
//ReactDOM.render(MyComponent, document.getElementById('root'))
ReactDOM.render(<TypesOfFood />, document.getElementById('root'))
</script>
How to Compose React Components in React
In this code we nest the components NonCitrus and Citrus into the Fruits Component.
Then nest the Fruits within the TypesOfFood component.
Also added the additional components, Vegetables, NonCitrus and Citrus so that the code is complete.
HTML
<div id="root"></div>Scripts
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/18.0.0-alpha-5fa4d79b0-20211008/umd/react.production.min.js" integrity="sha512-5PVmWGoNJocWPdQJmJd1aRbz3cFcFgXctWKLWcitqtgX64jF+ttfg9g2oLltmeQ1HUo3gT6QchaMK3h+S+JG4Q==" crossorigin="anonymous"
referrerpolicy="no-referrer"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/18.0.0-alpha-5fa4d79b0-20211008/umd/react-dom.production.min.js" integrity="sha512-pUsjUv+9XgkTn+UbLyNIT4YNZPF2p0E45FBKmDL7Ti8iovYwp2CUkQs6Q7J9y5scLxWaOM+T5jJc0ls+WHUcmQ=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script type="text/babel">
class Citrus extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Citrus:</h2>
</div>
);
}
};
class NonCitrus extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Non Citrus:</h2>
</div>
);
}
};
class Vegetables extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Vegetables:</h2>
</div>
);
}
};
class Fruits extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h2>Fruits:</h2>
{ /* Change code below this line */ }
<NonCitrus />
<Citrus />
{ /* Change code above this line */ }
</div>
);
}
};
class TypesOfFood extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h1>Types of Food:</h1>
{ /* Change code below this line */ }
<Fruits />
{ /* Change code above this line */ }
<Vegetables />
</div>
);
}
};
//ReactDOM.render(MyComponent, document.getElementById('root'))
ReactDOM.render(<TypesOfFood />, document.getElementById('root'))
</script>
External Link for How to Compose React Components in React