@thistlemr11

Некорректно работает эвент?

class AddInfo extends Component{

    state={
        addText:false
    }

    render() {

        const {classes}=this.props
        const newStyles=injectSheet(styles)(AddInfo)
        const inState= this.state.addText?'true':'false'

        return (

            <div>
                <input  type="text" className={classes.positionForm} onChange={this.addEvent}/>
                {inState}
            </div>
        );
    }
    addEvent=()=>{
        this.setState({
            addText:!this.state.addText
        })
    }
}


Есть код выше. Внутри него есть форма,в которую вводится текст. Так же есть эвент onChange,который мне нужен для того,что бы запоминать то,что было введено. Однако я столкнулся с проблемкой:
Насколько я помню,эвент onChange для текстовых элементов срабатывает при потере фокуса. Однако в моём коде он срабатывает при каждом вводе цифры-буквы-символа в мой инпут. Не знаю вот,как исправить.
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
Всё работает так, как и должно. Хотите, чтобы обработчик вызывался при потере фокуса - onChange замените на onBlur.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы