• react hooks useState更新值不及时的解决方案


    react hooks中useState更新值后经常会出现值更新不及时的bug,可以使用以下思路解决

    import React, { Component, useState } from 'react'
    import ReactDom, { render } from 'react-dom'
    
    const Hooks = () => {
        const [num, set_num] = useState(0)
        const [age, set_age] = useState(0)
        const add_age = () => {
            set_age((data) => {
                let new_data = data + 1
                set_num_handle(new_data)
                return new_data
            })   //使用函数,而不是固定值,将最新值传给要处理的函数,并返回给这个设置值的函数
    
        }
        const set_num_handle = (new_data) => {
            set_num(new_data)
        }
        return (<div>
            <div>
                年龄:{age}
            </div>
            <div><button onClick={add_age}>设置{num}</button></div>
        </div>)
    }
    
    ReactDom.render(<Hooks />, document.querySelector('#root'))
    

    总结:上面的思路就是const [state,setState]=useState(0),使用setState()这个函数赋值的时候,不是传入一个固定的值,而是使用setState((data)=>{let new_data=data+1;return new_data})得到最新的值,函数中的data是当前等待处理的值

  • 相关阅读:
    对象接口
    final关键字
    面向对象----多态,抽象,接口
    面向对象中的继承、封装、构造与析构函数
    PHP类与对象
    JS项目
    AppStore IAP 客户端校验代码
    Android线程计时器实现
    Cocos2d-x java 通过jni调用c++的方法
    ios7 uuid的获取方法
  • 原文地址:https://www.cnblogs.com/uimeigui/p/13949931.html
Copyright © 2020-2023  润新知