2017-11-08 6 views

答えて

7

あなたのやっていることはお勧めできません。

制御された入力を行うとよいでしょう。それを実現するには、する必要があります。

  • 入力の値の入力の変更を処理するためのハンドラ関数を状態を提供します。したがって、入力が変更されるたびに、状態が更新されます。例えば

:ここ

App.js

class App extends React.Component { 
    constructor(props) { 
    super(props); 
    this.state = { 
     name: '' 
    } 
    } 
    handleChange = event => { 
    this.setState({ 
     name: event.target.value 
    }); 
    } 
    resetInput =() => { 
    this.setState({ name: '' }); 
    } 
    render() { 
    const { name } = this.state; 
    return (
     <div> 
      <input type="text" value={name} onChange={this.handleChange} /> 
      <p>Hello, {name}</p> 
      <button onClick={this.resetInput}>Reset</button> 
     </div> 
    ); 
    } 
} 

simple snippet I made for youです。

+0

いくつかの回答では、このためにref構造を使用しています。 [ex](https://stackoverflow.com/questions/38731271/clear-an-input-field-with-reactjs)なぜこれを使う人がいますか? –

+0

@AleksandrMaybach [The docs](https://reactjs.org/docs/glossary.html#refs)は、私ができるよりも優れていると言います。基礎となるDOM要素またはクラスインスタンスにアクセスするときはいつでもrefを使用します(要素のタイプ)。入力要素をプログラム的に集中させることは、refをどのように使用できるかの一例です。 – chipit24

+0

@ chipit24:はい、わかります。この場合、refは実DOMまたは仮想DOMで動作しますか? –

関連する問題