【发布时间】:2019-05-04 13:34:02
【问题描述】:
奇怪的行为:我希望第一个和第二个 console.log 显示不同的结果,但它们显示相同的结果,并且只有在下次单击时才会更改值。我应该如何编辑我的代码以使值不同?
function App() {
const [count, setCount] = React.useState(false);
const test = () => {
console.log(count); //false
setCount(!count);
console.log(count); //false
};
return (
<div className="App">
<h1 onClick={test}>Hello StackOverflow</h1>
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="root"></div>
您可以在此处查看一个工作示例: https://codesandbox.io/s/wz9y5lqyzk
【问题讨论】:
-
注意:请使用 Stack Snippets(
[<>]工具栏按钮)将您的可运行示例放在这里,在现场,而不是在场外。 Stack Snippets 支持 React,包括 JSX; here's how to do one.
标签: javascript reactjs react-hooks