gpt4 book ai didi

reactjs - 无法在 createAsyncThunk 中将 getState 类型设置为 RootState

转载 作者:行者123 更新时间:2023-12-03 13:49:32 27 4
gpt4 key购买 nike

我无法设置 getState() 的返回类型至RootState .我正在使用 typescript 和 VSCode。我必须将类型设置为 any ,这会停止该对象上的 IntelliSense。下面是有问题的代码:

export const unsubscribeMeta = createAsyncThunk(
'meta/unsubscribe',
async (_, { getState }) => {
const { meta } = getState() as any;
const res = await client.post<apiUnsubscribeResponse>(
`/meta/unsubscribe/${meta.subscriptionId}`
);
return res.data.data;
}
);
如果我尝试使用 RootState而不是 any ,VSCode 在模块中标记了许多错误。我相信这是由于商店和这个切片的循环依赖。我正在使用 RootState在选择器模块的许多地方,没有问题。有没有解决的办法?

最佳答案

您实际上并不需要了解整个州的形状。您只需要知道您尝试访问的值是否存在。
如果可以访问整个state.meta类型:

const { meta } = getState() as { meta: MetaState };
如果不:
const { meta } = getState() as { meta: { subscriptionId: string } };
我推荐这种避免循环依赖的方法,因为根状态总是依赖于切片,所以切片不应该依赖于根。

关于reactjs - 无法在 createAsyncThunk 中将 getState 类型设置为 RootState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64793504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com