'Lifting state up' is a pattern where the state is moved from a child component to its closest common ancestor component.
01
01
Understand the problem
state managementdata flowpropscomponent communication
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Two inputs sharing one lifted state
import { useState } from "react";
function CelsiusInput({ value, onChange }) {
return <input value={value} onChange={(e) => onChange(e.target.value)} placeholder="°C" />;
}
export default function App() {
const [celsius, setCelsius] = useState(""); // lifted to the parent
const fahrenheit = celsius === "" ? "" : (celsius * 9) / 5 + 32;
return (
<div style={{ padding: 24, fontFamily: "system-ui" }}>
<CelsiusInput value={celsius} onChange={setCelsius} />
<p>= {fahrenheit === "" ? "—" : fahrenheit + " °F"}</p>
</div>
);
}05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.