以下のようなコードで、「setCount で count の値を 0 から 1 に更新したのに、console には古い値が表示されてしまう」ということがあると思います。(記事タイトルが不正確なのはわざとで、検索に引っかかって欲しいからです) const [count, setCount] = useState(0); const handleClick = () => { setCount(1); console.log(`同期: ${count}`); }; 「ステート 変更 反映されない」で Google 検索すると「それはステートの変更が非同期に反映されるから」という誤った解説が流布しています。 「setState の反映が非同期である」ことと「古い値を参照してしまう問題」は関係ありません。この記事で訂正できればと思います。 結論: 公式ドキュメントを見ろ React 公式の新ドキ
![ステートの更新が反映されないのはタイミングのせいじゃない ―― 状態のスナップショットとレキシカルスコープ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/2adc0e2fa349685caa4a4a463aad6f667a04a27c/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgyJUI5JUUzJTgzJTg2JUUzJTgzJUJDJUUzJTgzJTg4JUUzJTgxJUFFJUU2JTlCJUI0JUU2JTk2JUIwJUUzJTgxJThDJUU1JThGJThEJUU2JTk4JUEwJUUzJTgxJTk1JUUzJTgyJThDJUUzJTgxJUFBJUUzJTgxJTg0JUUzJTgxJUFFJUUzJTgxJUFGJUUzJTgyJUJGJUUzJTgyJUE0JUUzJTgzJTlGJUUzJTgzJUIzJUUzJTgyJUIwJUUzJTgxJUFFJUUzJTgxJTlCJUUzJTgxJTg0JUUzJTgxJTk4JUUzJTgyJTgzJUUzJTgxJUFBJUUzJTgxJTg0JTIwJUUyJTgwJTk1JUUyJTgwJTk1JTIwJUU3JThBJUI2JUU2JTg1JThCJUUzJTgxJUFFJUUzJTgyJUI5JUUzJTgzJThBJUUzJTgzJTgzJUUzJTgzJTk3JUUzJTgyJUI3JUUzJTgzJUE3JUUzJTgzJTgzJUUzJTgzJTg4JUUzJTgxJUE4JUUzJTgzJUFDJUUzJTgyJUFEJUUzJTgyJUI3JUUzJTgyJUFCJUUzJTgzJUFCJUUzJTgyJUI5JUUzJTgyJUIzJUUyJTgwJUE2JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lZmJjMjBjZjNlZmQzZTVjZjZiN2EwYmZmYTU4YzY3NA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwaG9uZXkzMiUyMGluJTIwJUU2JUEwJUFBJUU1JUJDJThGJUU0JUJDJTlBJUU3JUE0JUJFJUUzJTgyJTg2JUUzJTgyJTgxJUUzJTgxJUJGJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04N2RlZjQ3OGMyN2U3NDM4M2E1MjE4Y2Y4YjYwNzY4Yg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dba2eb80920c8c88b76c9cf20674ad062)