useEffect里设置状态,是我最大的失误。二次render就会有卡帧感。vue时代没有根据状态修改状态的可能,都会精心设计核心模型。依赖状态设置的状态,就应该是一种computed属性的,react里还能memo。即使初始化与销毁的useEffect,也不应该设置状态,只能用于对dom的补修。初始化的状态是直接构造时,销毁更没必要涉及状态(本来应该是受状态驱动销毁)。react的好处是通过render使各computed计算最多处理一次。核心模型是纯粹从事件修改的模型,其它都是伴生的依赖属性。
展开
3