Я хочу создать три набора кнопок +/-, которые увеличивают и уменьшают три отдельных индикатора выполнения.С помощью this.state я могу увеличить один счетчик, но все они изменяются одновременно.
Следующее предыдущее решение пытается объяснить ответ, но я не могу его использовать, потому что я не использую
элемент.
Счетчик для каждого элемента в React.js import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import { Collapse, Navbar, NavbarToggler, NavbarBrand, Nav,
NavItem, NavLink, Container, Row, Col, Jumbotron, Button,
ButtonToolbar } from 'reactstrap';
import { Progress } from 'react-sweet-progress';
import "react-sweet-progress/lib/style.css";
class App extends React.Component {
constructor(props) {
super(props)
this.state = { countera: 0}
this.addFive = this.addFive.bind(this)
this.subFive = this.subFive.bind(this)
}
addFive(x) {
this.setState(prevState => ({
x: prevState.x + 5 }));
}
subFive(x) {
this.setState(prevState => ({
x: prevState.x - 5 }));
}
render() {
var alpha = this.state.countera;
var beta = 30;
var gamma = 30;
var sum = alpha + beta + gamma;
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>Welcome to FICO Reactor</p>
<ButtonToolbar>
<Button tag="a"color="success" size="large" href=""
target="_blank">Begin</Button>
</ButtonToolbar>
<p>
</p>
<div class="grid-container">
<div class="grid-item" color="blue">Items Corrected</div>
<div class="grid-item">Items In Repair</div>
<div class="grid-item">Remaining Hits</div>
<div class="grid-item"><Progress width={200} type="circle"
percent={100*alpha/sum} status="success" /></div>
<div class="grid-item"><Progress width={200} type="circle"
percent={100*beta/sum} status="success" /></div>
<div class="grid-item"><Progress width={200} type="circle"
percent={100*gamma/sum} status="error" /></div>
<div class="grid-item">{alpha} Items</div>
<div class="grid-item">{beta} Items</div>
<div class="grid-item">{gamma} Items</div>
**<div class="grid-item"><Button onClick={this.addFive()}>+
</Button> - <Button onClick={alpha}>-</Button></div>**
<div class="grid-item">Buttons2</div>
<div class="grid-item">Buttons3</div>
</div>
<p>Disclaimer</p>
</header>
</div>
);
}
}
export default App;
Я хочу иметь функцию увеличения и функцию уменьшения, которая принимает параметр, указывающий, на какую из трех кнопок-переменных следует воздействовать, и выполняетэто только к той переменной.
Если бы существовал this.state.counterA, this.state.counterB, this.state.counterC.