-
-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
onSuccess方法的入参data无法获取正确的type #31
Comments
Hello @joker77877. Please provide a online reproduction by forking this link or a minimal GitHub repository. Make sure to choose the correct version. |
临时解决方案: 可以手动给 const { data } = useRequest<string, any, number>(testService, {
formatResult: res => Number(res),
onSuccess: data => {
// `data` type is number
},
}); |
目前出现这个问题只会在 其实按照你提供的代码截图,你这段代码可以不使用
这是 ts 的问题。如果你能确保 |
好的谢谢你的解答 |
这 issue 挂着吧。免得我忘了😆 |
已发布:1.0.5 在 formatResult 和 onSuccess 同时使用的情况下,onSuccess 的 data 入参设置成 any,如果想要 onSuccess 有类型提示的,可以显式传入第三个泛型, 参考 const { data } = useRequest<string, any, number>(testService, {
formatResult: res => Number(res),
onSuccess: data => {
// `data` type is number
},
}); 上面提到的改动仅在 formatResult 和 onSuccess 同时使用,且没显式提供泛型 的情况下,其他用法均不受影响 |
是的,这个行为确实很怪异,鼠标移上去时他是能把正确类型推断出来的,但是实际使用时却是没有正确的类型,这个目前也没有很好的解决方案。至于 any 这是我们内部做了处理。如果内部不把 onSuccess 的入参类型改成any,让其自动推断的话,会导致 resultValue 里面的 data 丢失类型。所以为了确保 resultValue 的 data 类型正确,我们再 1.0.5 版本暂时以这个方案修复了 其实看你截图的代码,你这个需求貌似可以用 vue 的 watch 来实现 |
是的,我这个需求用watch实现了,但是只有onSuccess的时候data类型就正确。 |
1.0.5 做了以下的修改 在 formatResult 和 onSuccess 同时使用的情况下,onSuccess 的 data 入参设置成 any,如果想要 onSuccess 有类型提示的,可以显式传入第三个泛型。 单独使用 onSuccess 是不受影响的,自动推断也是正常的。 看看后续有没有好的解决方案吧。如果你有解决方法的话,也欢迎提 PR 帮我们解决这个问题😁 |
没能重现哦。提供个能重现的可运行示例看看 |
onSuccess函数中加入参数就会出现这个ts报错 |
Bug 描述 Bug description
onSuccess方法的入参data无法获取正确的type
代码重现 Reproduce
期望结果 Desired result
onSuccess方法的入参data可以获取正确的type
其他信息 Other information
The text was updated successfully, but these errors were encountered: