moving elements to parent could help prevent unnecessary renders.
function A({ children }) {console.log("A");return children;}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><B /></A><D /></div>);}const root = createRoot(document.getElementById("root"));root.render(<App />);
function A({ children }) {console.log("A");return children;}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><B /></A><D /></div>);}const root = createRoot(document.getElementById("root"));root.render(<App />);
click on the console.log lines to input your answer.