In React, ci sono differenze reali tra queste due implementazioni? Alcuni amici mi dicono che il FirstComponent è il modello, ma non vedo perché. SecondComponent sembra più semplice perché il rendering viene chiamato solo una volta.
Primo:
import React, { PropTypes } from 'react'
class FirstComponent extends React.Component {
state = {
description: ''
}
componentDidMount() {
const { description} = this.props;
this.setState({ description });
}
render () {
const {state: { description }} = this;
return (
<input type="text" value={description} />
);
}
}
export default FirstComponent;
Secondo:
import React, { PropTypes } from 'react'
class SecondComponent extends React.Component {
state = {
description: ''
}
constructor (props) => {
const { description } = props;
this.state = {description};
}
render () {
const {state: { description }} = this;
return (
<input type="text" value={description} />
);
}
}
export default SecondComponent;
Aggiornamento: ho cambiato setState () in this.state = {} (grazie joews), tuttavia non vedo ancora la differenza. Uno è meglio dell'altro?
this.state = { isVisible: props.isVisible }
abbia senso. Dipende da come l'app distribuisce lo stato dell'interfaccia utente.