Запрос на использование эффекта - React Hooks - PullRequest
0 голосов
/ 24 сентября 2019

Я занимаюсь разработкой приложения, в котором мне нужно сделать несколько вызовов API при загрузке страницы, и мне нужно изменять одно состояние компонента при каждом вызове API.Архитектура выглядит следующим образом.

const [stateForm, setStateForm] = useState(.....)

useEffect(()=>{
//FIRST API CALL
setStateForm({....})
},[])

useEffect(()=>{
//SECOND API CALL
setStateForm({....})
},[])

useEffect(()=>{
//THIRD API CALL
setStateForm({....})
},[])

//SO ON.....

Мой вопрос: нормально ли вызывать побочные эффекты таким образом?Будет ли изменение состояния в каждом хуке useEffect вызывать многократное повторное рендеринг?

1 Ответ

0 голосов
/ 24 сентября 2019

Можно ли таким образом вызывать побочные эффекты?

В этом нет ничего плохого, поэтому обычно все в порядке.Но трудно сказать что-то более определенное, кроме этого - не так уж много информации, чтобы судить об этой схеме продолжения перезаписи одного и того же состояния, используя результаты ряда API, которые обычно асинхронны с неясным временем для завершения или сбоя.

Будет ли изменение состояния в каждом хуке useEffect вызывать многократное повторное рендеринг?

React может пакетировать серию повторных рендеров, инициируемых setStateForm, поэтому будет только один повторный рендеринг,Если setStateForm имеет дело с Обещаниями, то React не будет использовать пакетирование, в противном случае он может или не может.

...