0
は予想:これはなぜコンポーネントコードが反応しないのでしょうか?
- 入力ボックスにテキストを変更するには、 メッセージにタイトルアップデートが大文字に変換されます。更新されたメッセージが
結果 コンソールに印刷されて送信ボタンを押してオン
- は動作しません。コンソール 'this'のエラーは、textBoxChange関数では定義されていません。 (これは、レンダリング機能ではなくtextBoxChange機能で定義されているのか?)
Codepen:https://codepen.io/r11na/pen/qNKpQX
class App extends React.Component {
textBoxChange(e) {
this.props.text = e.target.value;
};
sendMessage(e) {
console.log("Send message:" + this.props.text);
};
render() {
return (
<div>
<h3>Your Message: {this.props.text.toUpperCase()}</h3>
<MessageBox textBoxChange={this.textBoxChange} sendMessage={this.sendMessage} text={this.props.text}/>
</div>
);
};
};
const MessageBox = (props) => {
return (
<div className="row column">
<textarea onChange={props.textBoxChange} value={props.text}></textarea>
<button onClick={props.sendMessage} className="button">Send</button>
<br/>
</div>
);
};
まず、 'props'の代わりに' states'を使う必要があります - https://codepen.io/anon/pen/XKYEVG。新しい値を 'props'に割り当てることができないからです。 –
感謝のアレクサンダーが理にかなっています! – Riina