Stop usando useEffect para todo, por favor

por Sergio Ferrer Torres··66 votos

Me duele el alma cada vez que veo esto:

useEffect(() => {
  setFullName(firstName + ' ' + lastName)
}, [firstName, lastName])

Eso NO necesita un useEffect. Es una variable derivada:

const fullName = firstName + ' ' + lastName

useEffect es para sincronizar con sistemas externos (APIs, websockets, DOM manual). No para calculos.

La doc de React lo dice claramente pero nadie la lee.