У меня есть относительно простой фрагмент, который был написан в JSX/ES6.React TextArea Component - Как использовать getInititalState() в ES6?
import React from 'react'
class TextArea extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<textarea defaultValue={this.props.text}></textarea>
<h3>{this.props.text.length}</h3>
</div>
)
}
}
TextArea.propTypes = {
text: React.PropTypes.string
}
export default TextArea;
Поскольку этот класс не был создан с React.createClass
, пытаясь добавить getInitialState
результатов в большом красном предупреждении консоли:
Внимание: getInitialState был определен на TextArea, равнина JavaScript класса. Это поддерживается только для классов, созданных с помощью React.createClass. Вы имели в виду определить государственную собственность?
Как правильно использовать getInitialState()
в классе ES6?
Недавно изучающий React Я наткнулся на эту цитату: [* НИКОГДА не мутируйте this.state напрямую, так как вызов setState() впоследствии может заменить мутацию, которую вы сделали. Относитесь к this.state, как если бы он был неизменным *] (https://facebook.github.io/react/docs/component-api.html). Затем я прочитал [this] (https://facebook.github.io/react/docs/reusable-components.html#es6-classes) о классах ES6 :) – CodingIntrigue