Day 12: Smoosh components
Compose means “smoosh things together.”
You can smoosh 🥛 and ☕️.
You can smoosh a 🍔 with your 😋.
You smoosh things all day; it’s not fancy.
Copy HTML
HTML is smooshable by default.
<h1>
<em>Tilted Heading</em>
</h1>
The h1
and em
are smooshed.
But if we try and smoosh things with our ClapCounter
, nothing happens.
<ClapCounter>
<h1>Clap This!</h1>
</ClapCounter>
Y U NO SMOOSH?
Meet children
All react components get a special prop: children
.
Up to this point, we’ve had no children
.
But the stork delivered one when we nested <h1>Clap This!</h1>
in <ClapCounter />
.
Smooshing
Now that we have children
, we can render
them.
Let’s put them at the top.
class ClapCounter extends React.Component {
render () {
<div>
{this.props.children}
...
Congrats! You learned how to smoosh.
We’ll do more advanced smooshing next week.
Tinker with it
Use the workspace below and explore smooshing.
- What happens if you keep the
{this.props.children}
but remove the nested<h1>
? - Can you smoosh another custom component in
ClapCounter
? Make one and find out.