【发布时间】:2025-04-27 05:45:01
【问题描述】:
我正在尝试制作一个接收泛型类型参数的 React 组件,该类型参数将成为其 prop 类型的一部分。
我想要一个看起来像这样的解决方案:
interface TestProps<T> {
value: T;
onChange: (newValue: T) => void;
}
const Test: React.FC<TestProps<T>> = (props) => (
<span>{props.value}</span>
);
我已经看到 TypeScript 2.9 对此提供了支持,而我正在使用 4.3.5。
它的用法如下所示:
const Usage: React.FC = () => (
<div>
<Test<Obj>
value={{ name: 'test' }}
onChange={(newValue) => {
console.log(newValue.name);
}}
/>
</div>
);
代码沙箱:https://codesandbox.io/s/react-typescript-playground-forked-8hu13?file=/src/index.tsx
【问题讨论】:
-
只是没有
React.FC帮助类型:function Test<T>(props: TestProps<T>) { ...codesandbox.io/embed/…
标签: reactjs typescript typescript-generics tsx