老师好!因为新版本的axios.get方法会自动返回unknown类型的数据,所以我尝试使用as类型转换将得到的value.data转换为T类型的数据
result.value = value.data as T;
但是这样做会收到ts报错说类型不匹配,左边是ref<unwrapRef | null>类型 ,我这里还是简单粗暴的用类型转换解决了报错,组件那里也可以正常的获取到返回值result的类型。请问这里还有其他的解决方案吗?
成功代码
function useUrlLoader<T>(url: string) {
const loaded = ref(false);
const loading = ref(false);
const result = ref<T | null>(null);
const error = ref(null);
axios.get<T>(url).then((value) => {
loaded.value = true;
loading.value = false;
result.value = value.data as UnwrapRef<T>;
}).catch((err) => {
error.value = err;
loading.value = false;
})
return { loaded, loading, result, error };
}
错误信息: