ใน React มีความแตกต่างที่แท้จริงระหว่างการใช้งานทั้งสองนี้หรือไม่ เพื่อนบางคนบอกฉันว่า FirstComponent เป็นรูปแบบ แต่ฉันไม่เห็นว่าทำไม SecondComponent ดูง่ายขึ้นเพราะการเรนเดอร์ถูกเรียกเพียงครั้งเดียว
ครั้งแรก:
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;
ประการที่สอง:
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;
อัปเดต: ฉันเปลี่ยน setState () เป็น this.state = {} (ขอขอบคุณ joews) อย่างไรก็ตามฉันยังไม่เห็นความแตกต่าง ดีกว่าอีกไหม?
this.state = { isVisible: props.isVisible }
สมเหตุสมผล ขึ้นอยู่กับวิธีที่แอพกระจายสถานะ UI