3 回答

TA貢獻(xiàn)1858條經(jīng)驗(yàn) 獲得超8個(gè)贊
setState()有一個(gè)可選的第二個(gè)參數(shù),它是一個(gè)函數(shù),一旦設(shè)置了狀態(tài)就會(huì)被調(diào)用。你可以這樣做:
this.setState({ Operator: 'plus' }, this.handlePlus);
您還可以使用componentDidUpdate生命周期:
componentDidUpdate(prevProps, prevState) {
if(this.state.Operator === 'plus' && prevState.Operator !== 'plus') {
this.handlePlus();
}
}

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
只需this.setState({ Operator: 'plus' }
在handlePlus
函數(shù)內(nèi)添加。

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
< button name = "Plus"
onClick = {
() => this.setState({
Operator: 'plus'
}, () => this.handlePlus())
} > + < /button>
this would work fine.or
if you are looking
for something like this....
you can handle multiple buttonClick event like this
<
button name = "Plus"
value = "yourValue"
onClick = {
this.handleChange
} > + < /button>
handleChange = (e) => {
const {
name,
value
} = e.target;
switch (name) {
case 'Plus':
this.setState({
[name]: value
});
break;
default:
//enter code here
break;
}
}
添加回答
舉報(bào)