私は最近、react.js の学習を開始し (大好きです!)、入力値の処理に関する興味深いシナリオに出くわしました。
Egghead チュートリアルでは、次のrefようなものを使用して入力を更新しました。
handleSubmit(){
var newNote = this.refs.note.value;
this.refs.note.value = '';
this.props.addNote(newNote);
}
<input type="text" ref="note" />
<button type="button" onClick={this.handleSubmit.bind(this)}>
Submit
</button>
後で、マテリアル uiライブラリ (これも素晴らしい) をいじっていたところref、 .. Google でしばらくした後、 the を使用して、次のように関数stateを使用して更新できることがわかりました。onChange
handleNoteChange(e){
this.setState({newNote: e.target.value});
}
<TextField
type="text"
value={this.state.newNote}
onChange={this.handleNoteChange.bind(this)} />
を使用するref方が簡単なように思えますが、最近反応ネイティブを学んでいると、onChange関数とstate変数を使用して行うすべてのことが2番目の方法のようです。
だから私の質問は、先に進むために、どちらかを使用する方が良いでしょうか? たぶんstate、ネイティブでの使用をより良くする制限がありますか?