-1
const [title,setTitle] = useState(""); 
const titleHandler=e => {
setTitle(e.target.value) 
console.log(title) 
}  

Why does this code log the old value of title and not the new one. I'm new to js and react please can anyone explain this to me

1 Answers1

0

it happend because when you call setTitle it doesn't update the state instantaneously but it trigger a rerender of the component with the updated state

if you do

const [title,setTitle] = useState(""); 
const titleHandler=e => {
setTitle(e.target.value) 
console.log('updating title') 
}  

useEffect(() => {
  console.log('title updated', title)
}, [title])

you can see for yourself

R4ncid
  • 6,944
  • 1
  • 4
  • 18