相关疑难解决方法(0)

如何使用 useEffect() 更改 React-Hook-Form defaultValue?

我正在创建一个页面供用户使用 React-Hook-Form 更新个人数据。加载 paged 后,我使用useEffect获取用户当前的个人数据并将它们设置为表单的默认值。

我将获取的值放入defaultValueof <Controller />。但是,它只是没有显示在文本框中。这是我的代码:

import React, {useState, useEffect, useCallback} from 'react';
import { useForm, Controller } from 'react-hook-form'
import { URL } from '../constants';

const UpdateUserData = props => {
    const [userData, setUserData] = useState(null);
    const { handleSubmit, control} = useForm({mode: 'onBlur'});

    const fetchUserData = useCallback(async account => {
        const userData = await fetch(`${URL}/user/${account}`)
                            .then(res=> res.json());
        console.log(userData);
        setUserData(userData);
    }, []);

    useEffect(() => {
        const account = localStorage.getItem('account');
        fetchUserData(account);
    }, [fetchUserData])

    const …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks react-hook-form

35
推荐指数
8
解决办法
4万
查看次数