Dans React, existe-t-il de réelles différences entre ces deux implémentations? Certains amis me disent que le FirstComponent est le modèle, mais je ne vois pas pourquoi. Le SecondComponent semble plus simple car le rendu n'est appelé qu'une seule fois.
Première:
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;
Seconde:
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;
Mise à jour: j'ai changé setState () en this.state = {} (merci joews), Cependant, je ne vois toujours pas la différence. Est-ce que l'un est meilleur que l'autre?
this.state = { isVisible: props.isVisible }
c'est logique. Dépend de la façon dont l'application distribue l'état de l'interface utilisateur.