reactjs - 如何同时允许类型 ref 回调和 MutableRefObject?
问题描述
我试图允许这两种类型(ref: any) => void Or MutableRefObject<any>
interface RowProps extends React.HTMLAttributes<React.ReactHTML> {
componentRef: (ref: any) => void | React.MutableRefObject<any>;
//...
}
RowProps接口具有componentRef
多种类型。
我希望允许这两种类型,但是:
let refFuncVer = React.useRef(null);
let refObjectVer = React.useRef(null);
// It is okay
componentRef={(ref) => {refFuncVer.current = ref;}}
// type error:
componentRef={refObjectVer}
为什么?
解决方案
您忘记在函数类型定义周围加上括号:
componentRef: ((ref: any) => void) | React.MutableRefObject<any>;
TypeScript 编译器认为您的意思是:
componentRef: (ref: any) => (void | React.MutableRefObject<any>);
推荐阅读
- docker - 在 docker 容器中运行 Sqlite
- python - matplotlib 中的 scatter 和 scatter3D 有什么区别?
- html - 换行后跨度占据整个 div
- select - 如何从包含 BigQuery SQL 中转换值的表中创建转换率和货币类型的列表?
- html - 如何在绝对位置上全屏显示输入字段
- json - 尝试从 JSON 响应中的列表中获取值
- reactjs - 带有 NextJS API 的 FormData
- python - python 二维列表一次更改一整列?
- angular - 错误:NG0100:sidenav 角度材料中的 ExpressionChangedAfterItHasBeenCheckedError
- linux - Flatpak 回购对象文件夹为空?