关于react state取值的问题

state={
    currentInde:0
}

我在tab切换的时候,通过onChange给state中的currentIndex设置值,

this.setState({
    currentIndex:index
})

onChange还调用一个方法 test()
我在test中打印log(this.state.currentIndex,index)
第一次我点击tab2 打印0,1
第二次点击tab1 打印1,0
第三次点击tab2 打印0,1

如果我第一次点击tab1 打印0,0
第二次点击tab2 打印0,1
第三次点击tab1 打印1,0

请问这是为什么 如何解决

阅读 295
评论
    2 个回答

    setState 是异步的,改用回调就好:

    this.setState({
        currentIndex:index
    }, () => {
        test()
    })

      onChange 事件想要取到同步的currentIndex ,回调后执行的test()就好

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章