我的问题似乎很简单。但是在下面的代码中,如何使用"prevstate"呢?作为函数而不编写函数?
handleAddOne() {
this.setState(prevState => {
return {
counter: prevState.counter + 1
};
});
}
'在这里,您可以看到包含handleAddOne()的所有代码。
import React from "react";
import ReactDOM from "react-dom";
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = {
counter: 0
};
this.handleAddOne = this.handleAddOne.bind(this);
}
handleAddOne() {
this.setState(prevState => {
return {
counter: prevState.counter + 1
};
});
}
render() {
return (
<div>
<div>Counter: {this.state.counter}</div>
<button onClick={this.handleAddOne}>Add One</button>
</div>
);
}
}
const rootElement = document.getElementById("root");
ReactDOM.render(<Counter />, rootElement);
我没有做什么特别的尝试,只是需要解释。
如何使用" React hook ";比如"useState","useEffect()"。它可以检查你的值,你也可以启动函数和setState。
我不确定我是否正确理解您的问题,因为您在编写时确实编写了该函数:
prevState => {
return {
counter: prevState.counter + 1
};
}
这是一个箭头函数定义。你可以将它存储在一个变量中,稍后调用它,或者将它作为参数传递给另一个函数,而不存储它;就像你对this.setState
做的那样。你可以在这里阅读更多关于js箭头函数的内容。此外,这是一个调用自身的递归函数,您可以在这里阅读有关它的内容。