scrimba
Learn React - Side Effects (Section 4)
Meme Generator - Planning data fetch
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Meme Generator - Planning data fetch
AboutCommentsNotes
Meme Generator - Planning data fetch
Expand for more info
components
Main.jsx
run
preview
console
import { useState } from "react"

export default function Main() {
const [meme, setMeme] = useState({
topText: "One does not simply",
bottomText: "Walk into Mordor",
imageUrl: "http://i.imgflip.com/1bij.jpg"
})

function handleChange(event) {
const {value, name} = event.currentTarget
setMeme(prevMeme => ({
...prevMeme,
[name]: value
}))
}

return (
<main>
<div className="form">
<label>Top Text
<input
type="text"
placeholder="One does not simply"
name="topText"
onChange={handleChange}
value={meme.topText}
/>
</label>

<label>Bottom Text
<input
type="text"
placeholder="Walk into Mordor"
name="bottomText"
onChange={handleChange}
value={meme.bottomText}
/>
</label>
<button>Get a new meme image 🖼</button>
</div>
<div className="meme">
<img src={meme.imageUrl} />
<span className="top">{meme.topText}</span>
<span className="bottom">{meme.bottomText}</span>
</div>
</main>
)
}
Console
/index.html
-2:09