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 (change()}>setA)
}

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

你可能感兴趣的:(Taro hooks的useState异步回调)