【发布时间】:2021-03-20 02:51:24
【问题描述】:
我正在尝试输入一个自定义的 React 钩子:
import { useRef } from 'react';
type Reference = [
Promise<unknown>,
(value?: unknown) => void,
(reason?: unknown) => void,
];
const usePromise = () => {
const reference: Reference = [];
const container = useRef(reference);
reference[0] = new Promise((resolve, reject) => {
reference[1] = resolve;
reference[2] = reject;
});
// [promise, resolve, reject]
return container.current;
};
export default usePromise;
TypeScript 抱怨 reference 说:
Type '[]' is not assignable to type 'Reference'.
Source has 0 element(s) but target requires 3.
我怎样才能让 TypeScript 也接受空数组/元组初始化?而且也许还有一种方法可以给usePromise 值的类型,所以它不会说unknown?
【问题讨论】:
标签: arrays reactjs typescript react-hooks typescript-typings