memo() helps prevent unnecessary renders.
function A() {console.log("A");return <B />;}const B = memo(() => {console.log("B");return <C />;});function C() {console.log("C");return null;}function D() {console.log("D");return null;}function App() {const [state, setState] = useState(0);useEffect(() => {setState((state) => state + 1);}, []);console.log("App");return (<div><A /><D /></div>);}const root = createRoot(document.getElementById("root"));root.render(<App />);
function A() {console.log("A");return <B />;}const B = memo(() => {console.log("B");return <C />;});function C() {console.log("C");return null;}function D() {console.log("D");return null;}function App() {const [state, setState] = useState(0);useEffect(() => {setState((state) => state + 1);}, []);console.log("App");return (<div><A /><D /></div>);}const root = createRoot(document.getElementById("root"));root.render(<App />);
click on the console.log lines to input your answer.