フォームの検証が少し行われていますが、問題が発生しています。私が最初にウェブアプリケーションを読み込んで、値を追加してボタンで送信しようとすると、それは私を許さず、私に見せたいエラーを与えます。しかし、値を追加するとsetStateが発生し、その値がUIにプッシュされ、別の空白値を追加しようとすると、前に空の文字列をチェックする条件ロジックが間違っていないのですか?Reactフォームの検証でも値が追加されます
addItem() {
let todo = this.state.input;
let todos = this.state.todos;
let id = this.state.id;
if (this.state.input == '') {
alert("enter a value");
document.getElementById('error').style.color = 'red';
document.getElementById('error').innerHTML = 'Please enter something first';
}
else {
this.setState({
todos: todos.concat(todo),
id: id + 1,
},() => {
document.getElementById('test').value = '';
})
console.log(this.state.id);
}
}