Как установить начальное состояние с крючками при загрузке данных fini sh - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь установить full_name в качестве исходного состояния, но я получаю неопределенное значение. Я не могу проверить это, когда я отправляю данные на мой props.userDetailsFetchRequest(id, data);, Как я могу установить это начальное состояние только тогда, когда данные заканчивают sh загрузка.

 const UserDetails = props => {
            const classes = useStyles();

            const { userDetailsLoading } = props;
            const { full_name } = props.userDetails;

            console.log('loading:', userDetailsLoading)
            console.log('full name:', full_name)

            const [name, setName] = useState(full name); <-------- I want this inicialize with
                                                                         michele sena riveira  

          function handleSubmit(e) {
            e.preventDefault();

            const { id } = props.userDetails;

            const data = {
                "full_name": name,
            }

            props.userDetailsFetchRequest(id, data); <--- I'm sending this request to my saga
    and I'm getting full_name as undefined.
        }

enter image description here


Сага

function* userDetailsEditFetchRequest({ id, data }) {
       console.log("full_name in saga:",data)
}

enter image description here

1 Ответ

2 голосов
/ 08 января 2020

Для этого вы бы использовали useEffect:

useEffect(() => {
    setName(full_name)
},[full_name]

Теперь, когда меняется полное имя, эффект обновляет значение вашего состояния, независимо от значения проп.

Однако лучше просто использовать опору напрямую, когда это возможно, чтобы устранить любые возможные несоответствия

...