reactjs - TS 坚持我的 `useMemo` 函数返回 `null[]`
问题描述
下面的函数没有返回null[]
,但尽管我给函数给出了任何定义,但它显示了函数返回的错误null[]
。这是什么原因?
const attributionList = React.useMemo<insertTypeHere>(() => {
return uniqBy(
flatMap(
reject(attributions, (v) => v === null),
(v) => {
return v;
}
),
"snapshot.id"
);
}, [attributions]);
要清楚insertTypeHere
不会改变 TS 认为函数返回的内容。
解决方案
原来问题是初始化attributions
为空。TS 将根据初始化推断类型,因此在不强制转换的情况下,它只会接受初始设置的类型。
推荐阅读
- feature-selection - 什么是互信息的好价值?
- python - 带有 plotly 的子图中的多个箱线图
- java - 为什么我的 Gremlin 迁移查询只从每个顶点添加一条边?
- gremlin - 根据条件获取顶点及其边
- linux - 我们使用fork后mmap会导致页面错误吗?
- javascript - 尝试在 package.json 中运行 CSS 构建时出错
- powershell - 需要从 MSO 租户导出 UPN
- javascript - 功能 onReady 而不是按钮单击
- python - 列出暴露给互联网的 aws ec2 实例的任何想法?
- c# - 使用 Append 时不会将值添加到列表中