你的代码没错,而你看到的输出也是正确结果,这就是所谓的异步过程,而setState就是利于异步来处理数据的。课程关于这一点描述了很多细节,因为setState函数的异步逻辑比较费解,建议多看几遍加深一下理解。
这里有一篇文章,你可以参考一下,我觉得讲得很好:
react的setState到底是同步还是异步? - monkeySoft - 博客园 (cnblogs.com)
https://www.cnblogs.com/monkeySoft/p/13283558.html#:~:text=setState%E6%9C%AC%E8%BA%AB%E5%B9%B6%E4%B8%8D%E6%98%AF%E5%BC%82%E6%AD%A5,%E7%9A%84%E7%8E%AF%E5%A2%83%E4%B8%8B%E4%B8%BA%E5%90%8C%E6%AD%A5%E3%80%82