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>
  • Вопрос задан
  • 445 просмотров
Решения вопроса 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>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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