Задать вопрос
victorzadorozhnyy
@victorzadorozhnyy

Как передать в функцию в качестве аргуменка State в ReactJS?

Как в реакте правильно передать стейт в функцию, а потом сделать this.setState?
//Хочу сделать универсально для разных стейтов и для _count задавать какой именно стейт.
    counter(cond, _count){
        if(cond==true) this.setState({ _count:  _count+1})
    }

                <h1>{this.state.count}</h1>

                <Button onClick={()=> this.counter(true, this.state.count) }> +++ </Button>
  • Вопрос задан
  • 457 просмотров
Подписаться 1 Оценить 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Решения вопроса 1
@Barlad
Системный администратор/Junior JS developer
Например можно написать функцию так:
counter(cond, stateField){
	if(cond==true) {
		const newState = {};
		newState[stateField] = this.state[stateField] + 1;
		this.setState(newState);
	}
}


А биндить эту функцию к кнопке так:
<Button onClick={ this.counter.bind(this, true, someStateField }> +++ </Button>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы