小编Ada*_*dam的帖子

refs vs onChange

我最近开始学习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>
Run Code Online (Sandbox Code Playgroud)

后来,我正在玩材料ui库(也很棒)并遇到了一个问题,我无法使用a 更新其中一个材料组件(可能是因为这个问题)ref.经过一段时间在谷歌上我发现你可以使用一个state,并使用一个onChange函数更新它,如下所示:

handleNoteChange(e){
    this.setState({newNote: e.target.value});
}

<TextField 
    type="text" 
    value={this.state.newNote} 
    onChange={this.handleNoteChange.bind(this)} />
Run Code Online (Sandbox Code Playgroud)

似乎使用a ref会更容易,但是,在我最近的学习反应原生时,你所做的一切似乎是第二种方式,使用onChange函数和state变量.

所以我的问题是,继续前进,使用一个比另一个更好吗?也许有限制使得state在本地使用更好?

reactjs react-native material-ui

6
推荐指数
1
解决办法
3742
查看次数

标签 统计

material-ui ×1

react-native ×1

reactjs ×1