easyFrontend

How do you manage component-level state without `useState` or `useReducer`?

280 views
01

Understand the problem

Discuss alternative patterns for managing state within a single component, particularly in class components.

state managementclass componentslegacysetstate
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

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Derived value + ref instead of state
import { useState, useRef } from "react";

export default function App() {
  const [email, setEmail] = useState("");
  const isValid = email.includes("@");        // ✅ derived, not separate state
  const typedCount = useRef(0);               // ✅ mutable, no re-render
  typedCount.current = email.length;

  return (
    <div style={{ padding: 24, fontFamily: "system-ui" }}>
      <input value={email} onChange={(e) => setEmail(e.target.value)} placeholder="email" />
      <p style={{ color: isValid ? "green" : "crimson" }}>
        {isValid ? "looks valid" : "needs an @"}
      </p>
    </div>
  );
}
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.