31.为什么要使用useState来定义变量,而不直接let a = "美女",这样多舒服?
这样定义一个普通变量没问题,那如果我想要变量在函数重新执行的时候能保存他最后的值呢,比如a在函数运行的过程中被改成了"绝世美女",
我希望函数重新运行的时候还是“绝世美女”,而不是初始值“美女”
32.上面解释了useState的作用,但是在函数外面定义一个全局变量好像也能实现同样的效果,useState相当于全局变量吗?
确实,全局变量也可以达到目的,但是全局变量有可能在某个地方被修改,且修改全局变量不会触发界面更新
像上面这样定义的好处:
a既是局部变量(不用担心变量被别的地方修改了)
具备31所说的功能
变量被修改还会触发界面更新
变量只能通过setA修改