प्रतिक्रिया में, क्या इन दो कार्यान्वयनों के बीच कोई वास्तविक अंतर हैं? कुछ दोस्त मुझे बताते हैं कि 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 स्थिति को कैसे वितरित करता है।