简介
在React中,React.FC 是 React.FunctionComponent
的缩写,用于定义一个函数式组件的类型。这是TypeScript与React结合使用时常见的一种类型定义方式,可以为组件提供类型检查和自动补全等功能。使用
React.FC
来定义组件不仅可以指定组件的props类型,还包括对children的隐式支持,以及对默认的静态属性如
displayName 的支持。
代码结构
React.FC
1
| type FC<P = {}> = FunctionComponent<P>;
|
1 2 3 4 5 6 7
| interface FunctionComponent<P = {}> { (props: P, context?: any): ReactNode; propTypes?: WeakValidationMap<P> | undefined; contextTypes?: ValidationMap<any> | undefined; defaultProps?: Partial<P> | undefined; displayName?: string | undefined; }
|
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 'use client' import React from "react";
interface Props { title: string; onClick: () => void; }
const MyButton: React.FC<Props> = ({ title, onClick }) => { return <button onClick={onClick}>{title}</button>; };
const SecondButton = ({title,onClick} : Props ) => { return <button onClick={onClick}>{title}</button>; }
export default function Page() { return ( <div className={`w-screen h-screen flex flex-col space-y-4 justify-center items-center`}> <MyButton title="Click Button 1" onClick={() => window.alert("clicked")} /> <SecondButton title="Click Button 2" onClick={() => window.alert("clicked Second Button")} /> </div> ) }
|