在 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),但是,我还是看不出区别。一个比另一个更好吗?