如何使用Typescript模拟useQuery Rtk Query的isError/isSuccess/data行为?

问题描述 投票:0回答:1

我想构建一个自定义挂钩 useGetUserProfile ,如下所示:

export const useGetUserProfile = () => {
    const userInfo = useSelector(selectUserInfo)
    const isConnected = userInfo !== undefined
    return { userInfo: isConnected ? (userInfo as TUserInfo) : undefined, isConnected }
}

我想做一些事情,以便当验证 isConnected 时,userInfo 将自动变为未定义(就像 useQuery Rtk Query 的 isError/isSuccess/data 的行为)

你们不知道如何使用 Typescript 来实现这一点吗?谢谢!

(isConnected && userInfo.firstName ? ' ' + userInfo.firstName : '!')//give error 'userInfo' is possibly 'undefined'

reactjs typescript react-native redux rtk-query
1个回答
0
投票

类型推断在

useGetUserProfile()
函数的范围内进行。超出此范围,类型推断就会丢失。

如果您使用当前版本的打字稿,您的示例将正常工作。看看这个游乐场

© www.soinside.com 2019 - 2024. All rights reserved.