私は外出先で物事を追加する機能を備えたシンプルなリストを表示しようとしています。そして、私は遠いので "うまくいきました"が、UIは正しくレンダリングされません。再販者の親コンポーネント
これは私の親
var Main = React.createClass({
getInitialState: function() {
return {
messageStorage: this.getMessages()
}
},
getMessages: function() {
return ['Banana', 'Orange'];
},
addMessage: function(val) {
this.state.messageStorage.push(val);
console.log(this.state.messageStorage);
//this.render();
},
render: function() {
return (
<div>
<InputField add={this.addMessage} />
<MessageField value={this.state.messageStorage} />
</div>
)
}
});
であり、これらは私の配列messageStorageの内容をログに記録する機能でチャイルズ
var InputField = React.createClass({
getInitialState: function() {
return {
textValue: ''
}
},
changeInputValue: function(e) {
this.setState({textValue: e.currentTarget.value});
},
addMsg: function(e) {
this.props.add(this.state.textValue);
this.setState({textValue: ''});
this.refs.msgInput.focus();
},
render: function() {
return (
<div>
<input type='text' value={this.state.textValue} onChange={this.changeInputValue} ref='msgInput' />
<input type='button' value='Save' onClick={this.addMsg} />
</div>
)
}
});
var MessageField = React.createClass({
eachMessage: function() {
var msg = this.props.value.map(function(item, index) {
return <Message value={item} key={index} />
});
return msg;
},
render: function() {
return (
<div>
{this.eachMessage()}
</div>
)
}
});
var Message = React.createClass({
render: function() {
return (
<div>
{this.props.value}
</div>
)
}
主な成分イムで「そしてaddMessage()」であり、それ正しいと思われる。しかし、UIでレンダリングされることはありません。どうしてこれなの?