初始化该组件当前状态的state值必须是一个javascript对象,不能是string,或者number,boolean等简单的基本数据类型
即使你想要存储一个只是数字类型的数据,也只能把它存作state...其实它是会批量延迟更新
也就是props,state的值并不会立马的映射更新,它是把这个state对象放到一个更新队列里面,然后从队列当中把新的状态提出来合并到state中,最后在触发render函数组件的更新...setState方法,此时,state的值将是同步更新的
如果要追究setState内部执行过程,其实它是很复杂的,包括了更新state,以及各个生命周期函数,以后有时间单独在详聊的
在这里,你只需要只知道...,对于在React中的JSX绑定的事件处理函数中调用setState方法是异步的就可以了
如果你需要基于当前的state来计算出新的值,那么setState函数就应该传递一个函数,而不是一个对象,它可以确保每次调用的都是使用最新的....用于记录组件内部状态的,如果组件中的一些数据在某些时刻发生变化,或者做一些页面逻辑交互时,需要更新UI,这个时候就需要使用state来跟踪状态(例如控制一元素的显示隐藏来回切换等状态),它由组件本身管理