reactjs - 如何修复错误类型 void 不可分配给使用 react 和 typescript 的类型?
问题描述
我有如下代码,它可以工作。
const { loading, data, error, refetch } = useItemDetailsQuery({
variables,
notifyOnNetworkStatusChange: true,
fetchPolicy: 'network-only',
});
const details: Partial<Item> = data?.itemDetails
? data.itemDetails
: {};
type Item = ItemDetailsQuery['itemDetails'];
type itemDetailsQuery = {
itemDetails: Pick<
Types.ItemDetails,
| 'created'
| 'description'
| 'name'
>
};
现在使用上面的代码,详细的数据不会得到更新的页面刷新。所以我正在考虑将详细信息的计算逻辑放在 useMemo 中,以便它在数据更改时计算此逻辑,因此无需重新加载页面即可查看新数据。
所以我试着像这样把逻辑放在 useMemo 中
const details: Partial<Item> = React.useMemo(
() => { data?.itemDetails
? data.itemDetails
: {}
}, [data]
);
但这给了我错误“类型'void'不可分配给类型'Partial<Pick<ItemDetails,“created”,“description”,“name”}>”
我不知道如何解决这个问题。有人可以帮我解决这个问题。谢谢。
我是使用 react 和 typescript 的新手。在学习的过程中。
解决方案
推荐阅读
- excel - 计算数组中的匹配,重复一次
- godot - 标识符未在 godot 的当前范围内声明
- javascript - 在不使用 startDate 和 endDate 的情况下禁用引导日期选择器中的未来日期
- ios - 在 Xcode 13 [[UINavigationBar 外观] setBarTintColor: 无法正常工作?
- c# - C# 创建 Active Directory 用户 - 异常未知错误 (0x80005000)
- r - (R) 如果另一列中唯一的结果匹配是 NA,则根据字符串名称过滤行
- r - 基于另一个数据帧的数据帧中的字符串替换
- reactjs - 弹出后无法启动 React 开发服务器
- bash - bash 文本处理以删除 ascii 并从结果中获取唯一行
- push-notification - Web推送通知js警报框设计不变