useEffect(() => {}): noDependencyArray - runs after every render

useEffect(() => {
  // runs after every render
}) // no dependency array
If it runs after every render, Why not just put code directly into component then?

There is a distinction: useEffect Runs AFTER render is complete

While code inside the component runs during the render.

function MyComponent() {
  console.log('During render') // runs DURING render
  
  useEffect(() => {
    console.log('After render') // runs AFTER render is complete
  })
  
  return <div>Hello</div>
}

Backlinks