查询useEffect-React Hooks

时间:2019-09-24 10:51:51

标签: reactjs react-hooks

我正在开发一个应用程序,该应用程序需要在页面加载时进行多个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 :(得分:1)

  

以这种方式引起副作用可以吗?

没有错,所以通常没问题。但是,很难说出比这更明确的东西了-没有太多信息可以判断这种使用一系列API的结果来覆盖相同状态的模式,这些API通常是异步的,完成时间或失败时间不明。

  

每次使用状态变化都会影响效果钩子吗?

React可以批量处理setStateForm触发的一系列重新渲染,因此只有一个重新渲染。如果setStateForm必须处理Promises,那么React将不会使用批处理,否则可能会或可能不会。