react, useEffect: Can you use global variable as a dependent variable?

Viewed 6684
window.data = {}

useEffect(() => {
// do something
}, [window.data])

Does the above code makes sense?

since window.data is global, it won't be different on renders, and the effect won't execute?

2 Answers

No, that won't work. Effect could only be triggered when component is rerendered and dependencies change. Changing global variables won't cause a rerender, so the effect won't run.

It actually causes a re-render for me. It works, but I think it is an anti-pattern

Related