我尝试为createSelector res参数获取正确的类型,但似乎无法从redux-js中找到正确的类型,因为在TypeScript中没有关于此用法的示例或解释,只有在JS中。
const selectFacts = React.useMemo(() => {
return createSelector(
(res) => res.data,
(data) => (data ? pick(data, facts_keys) : undefined)
);
}, []);
const { facts } = useGetProfileQuery(user?.email ?? skipToken, {
selectFromResult: (result) => ({
...result,
facts: selectFacts(result),
}),
});
从这里可以看出:https://redux.js.org/tutorials/essentials/part-8-rtk-query-advanced#selecting-values-from-results
没有例子显示如何在TypeScript中完成这一点,其他人已经面对过这个问题吗?
我最终结束了做类型Assert,这样我就不会被类型定义错误卡住了..但是这一点都不理想,所以任何替代方案都是受欢迎的。
1条答案
按热度按时间gjmwrych1#
你不需要像那样的“完整类型”,只需要指定你需要的。
您的选择器只访问
data
,而在应用中的另一个点上,您定义了该端点,因此您已经有了一个用于该端点的接口。所以你可以