こんにちはそこにStackoverflowers、React - フォーム提出後の入力値をクリアする
私はかなりばかげた問題があります。私は最初のReactアプリケーションを作成中ですが、フォームを提出した後、入力値をクリアすることができない小さな問題が発生しました。この問題を見つけようとしましたが、ここに似たスレッドがいくつか見つかりましたが、解決できませんでした。入力の値を空の文字列に変更するだけで、コンポーネント/アプリケーションの状態を変更する必要はありません。私はonHandleSubmit関数で入力の値をクリアしようとしましたが、 "未定義のプロパティ 'value'を設定できません"というエラーが出ました。
私はどんな助けもありません。前もって感謝します! :)
マイコード:
マイ検索バーコンポーネント:
import React, { Component } from "react";
class SearchBar extends Component {
constructor(props) {
super(props);
this.state = {
city: ""
};
this.onHandleChange = this.onHandleChange.bind(this);
this.onHandleSubmit = this.onHandleSubmit.bind(this);
}
render() {
return (
<form>
<input
id="mainInput"
onChange={this.onHandleChange}
placeholder="Get current weather..."
value={this.state.city}
type="text"
/>
<button onClick={this.onHandleSubmit} type="submit">
Search!
</button>
</form>
);
}
onHandleChange(e) {
this.setState({
city: e.target.value
});
}
onHandleSubmit(e) {
e.preventDefault();
const city = this.state.city;
this.props.onSearchTermChange(city);
this.mainInput.value = "";
}
}
export default SearchBar;
皆さん、ありがとうございます。愚かな私...それは働いた。私は状態を変えれば、私のデータは画面から消えるだろうと考えました。ありがとうございました! – TommyVee