React中常见的TypeScript用法

1、组件定义

  • 类组件
    interface SelfProps{}
    interface SelfState{}
    
    class MyComponent extends React.Component<SelfProps, SelfState>{}
    View Code
    class MyComponent<P> extends React.Component<P>{
      interProps: P;
      constructor(props){
        super(props);
        this.interProps = p;
      }  
    }
    
    // 在使用该组件时
    
    types SelfProps = {...}
    
    <MyComponent<SelfProps> ... ></MyComponent> // 省略号表示需要传入的prop
  • 函数组件
    interface SelfProps{}
    
    const Fnc = (props: SelfProps) => {}
    View Code
    // 使用泛型
    interface SelfProps {}
    
    const fnc:React.FC<SelfProps> = (props) => {}
    View Code
    // 如果在使用函数组件时不清楚props的类型,那么还是使用泛型来定义
    
    function MyComponent<P>(props: P){} // 普通函数定义
    const MyComponent = <P extends any>(props: P) => {} // 箭头函数
    
    <MyComponent ... ></MyComponent>
    View Code
posted @ 2022-04-28 18:48  清风环珮  阅读(137)  评论(0编辑  收藏  举报