英語が私の メイン言語ではないため、問題を正しく説明できない場合は申し訳ありません。あなたは、私がconsole.log
を行うラインを参照してくださいReact JS:最後の入力時にsetStateが遅い
class Form extends React.Component {
constructor(...args) {
super(args);
this.state = { input: '' };
}
render() {
return (
<form>
<input
type="text"
onChange={this.onInputChange.bind(this)}
/>
</form>
);
}
onInputChange(e) {
this.setState({ input: e.target.value });
console.log(`state: ${this.state}, value: ${e.target.value}`); // this is my checking
}
}
:
私はこのようなものを(ES6で書かれた)フォーム・コンポーネントを作成しますか?今、ブラウザに何か と入力しようとすると、次のようになります。
// I type this: my word
// on every character input, the output is:
// state: , value: m
// state: m, value: my
// state: my, value: my
// state: my , value: my w
// state: my w, value: my wo
// state: my wo, value: my wor
// state: my wor, value: my word
// I do backspace
// state: my word, value: my wor
// state: my wor, value: my wo
// state: my wo, value: my w
// state: my w, value: my
// state: my , value: my
// state: my, value: m
// state: m, value:
状態は各入力に1文字遅れています。これは、 の入力長の検証には適していません。私は何を間違えたのですか?または、私は 何かが恋しいですか?
ワウ、私はその重要なことを忘れています。ありがとう! –