useState 问题

来源:3-1 react-dom-render

敲代码的web

2020-07-08

useState在弹框中使用为啥不能及时拿到最新数据呢 结果里面拿不到最新数据 急急急急 求解

const ChangePhone = () => {
    const [pwdVal, setPwdVal] = useState(0)
    useEffect(() => {
        commonNavBarStore.title = '更换手机号'
    }, [])

    useEffect(() => {
        console.log(pwdVal, 'pwdValpwdValpwdVal')
    }, [pwdVal]);

    async function checkPwd() {
        console.log(pwdVal, '结果结果')
        // let data = await FinFetch('/uc/auth/change_phone/password_check', 'POST', {
        //     employeepwdVal: pwd
        // });
    }
    function changePhone() {
        Modal.alert('输入登录密码', <div className='change-phone-modal'>
            <p>未设置密码请点击确认,如果忘记了原密码请退出后使用忘记密码进行重置</p>
            <InputItem type='password' onChange={(v) => setPwdVal(v)} />
        </div>, [
            { text: '取消', onPress: null },
            {
                text: '确认', onPress: checkPwd
            },
        ])
    }
    let phone = sessionStorage.getItem('phone')
    phone = phone ? phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2') : phone
    return <div className='change-phone'>
        <img src="/images/Bitmap@2x.png" alt="" className='change-phone-logo' />
        <span className='change-phone-tips'>当前使用的手机号</span>
        <p className='change-phone-num'>{phone}</p>
        <div className='change-phone-btn' onClick={changePhone}>更换手机号</div>
        <span className='change-phone-tips active-tips'>更换后,您的登录号码和企业组织架构中的号码均改变</span>
    </div>
}

写回答

1回答

Jokcy

2020-07-08

麻烦你问问题的时候,描述清楚你做了什么,你希望得到什么结果,实际得到了什么结果,你就给这个代码表示不知道你想问什么

0
4
Jokcy
回复
敲代码的web
你可以吧modal封装成组件,传入value,再会调修改value
2020-07-21
共4条回复

React源码深度解析 高级前端工程师必备技能

掌握React源码,让你的开发水平没有上限,更不惧前端未来的到来

1749 学习 · 336 问题

查看课程