Gibt es in React echte Unterschiede zwischen diesen beiden Implementierungen? Einige Freunde sagen mir, dass die FirstComponent das Muster ist, aber ich verstehe nicht warum. Die SecondComponent scheint einfacher zu sein, da das Rendern nur einmal aufgerufen wird.
Zuerst:
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;
Zweite:
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;
Update: Ich habe setState () in this.state = {} geändert (danke joews). Ich sehe jedoch immer noch keinen Unterschied. Ist einer besser als der andere?
this.state = { isVisible: props.isVisible }
sinnvoll. Hängt davon ab, wie die App den UI-Status verteilt.