Dalam Bereaksi, apakah ada perbedaan nyata antara kedua implementasi ini? Beberapa teman mengatakan kepada saya bahwa FirstComponent adalah polanya, tetapi saya tidak mengerti mengapa. Komponen Kedua tampaknya lebih sederhana karena render disebut hanya sekali.
Pertama:
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;
Kedua:
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;
Pembaruan: Saya mengubah setState () ke this.state = {} (thanks joews), Namun, saya masih tidak melihat perbedaannya. Apakah yang satu lebih baik dari yang lain?
this.state = { isVisible: props.isVisible }
masuk akal. Tergantung pada bagaimana aplikasi mendistribusikan keadaan UI.