Taro hooks的useState异步回调

import Taro, {useState, useEffect} from '@tarojs/taro'
import {View} from '@tarojs/components'


export default function Kk() {
    const [a,setA] = useState(1)

    function change() {
        setA(5)
        console.log(a)//1
    }

    useEffect(()=>{
        console.log(a)//5
    },[a])
    return (<View onClick={()=>change()}>setA</View>)
}

发现useState是异步的,还没有回调。发现这个useEffect可以监听到数据的改变。再去执行你的同步操作。就像这段代码一样,我setA的值为5,后面的console.log出来的值没有改变。这个时候就可以使用useEffect去监听数据a的改变。useEffect 后面的【】里要带你监听的数据。不然useEffect默认是无论改变哪个数据都会响应。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容