Sé que los componentes funcionales son más fáciles de usar que los componentes de clase, pero estoy tratando de aprender a hacer cosas usando ambos para comprender mejor. Así que busqué algunos ejemplos en el sitio web oficial de reacción.
El ejemplo del temporizador en reactjs.org/#a-stateful-component agrega seconds como un estado del componente, pero agrega un interval directamente como propiedad de this .
Me pregunto si hay diferencia entre ambos enfoques. ¿Cuándo debo agregar una propiedad en this en lugar de agregarlo como un estado?
class Timer extends React.Component { constructor(props) { super(props); this.state = { seconds: 0 }; //adding as state } tick() { this.setState(state => ({ seconds: state.seconds + 1 })); } componentDidMount() { this.interval = setInterval(() => this.tick(), 1000); //added property on this } componentWillUnmount() { clearInterval(this.interval); } render() { return ( <div> Seconds: {this.state.seconds} </div> ); } }La regla general es. Si desea que algo cambie en UI. Lo actualiza en el estado si no se requiere un cambio de interfaz de usuario. Solo actualizas la propiedad