useAsync
来源:7-2 用高级 Hook-useAsync统一处理Loading和Error状态

yjies
2021-03-24
你好,老师,有两个问题请教,谢谢。
- result里会返回isLoading,它有几个状态的变化,从idle -> loading -> success. 请问一下代码在这里的执行过程. useAsync是一直动态的获取
数据返回给调用它的方法吗?因为从常规理解上,赋值只是一次发生的动作。
const {run,...result} = useAsync<Project[]>();
请问这里有几个方法,这种用法是TS的自有的吗?
return {
isIdle:state.stat === 'idle',
isLoading:state.stat === 'loading',
isError: state.stat === 'error',
isSuccess: state.stat === 'success',
run,
setData,
setError,
...state
}
写回答
1回答
-
你可以理解为在每次useAsync的父组件(使用useAsync的组件)渲染的时候,useAsync都会被执行一次,所以每次渲染可能都拿到不一样的值: idle -> loading -> success
都是JS的方法
022021-08-12
相似问题