TypeScript and React - children type?

前端 未结 14 1173
借酒劲吻你
借酒劲吻你 2020-12-12 18:56

I have a very simple functional component as follows:

import * as React from \'react\';

export interface AuxProps  { 
    children: React.ReactNode
 }


con         


        
14条回答
  •  囚心锁ツ
    2020-12-12 19:21

    In order to use in your JSX, it needs to be a function that returns ReactElement | null. That's the definition of a function component.

    However, it's currently defined as a function that returns React.ReactNode, which is a much wider type. As React typings say:

    type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
    

    Make sure the unwanted types are neutralized by wrapping the returned value into React Fragment (<>):

    const aux: React.FC = props =>
      <>{props.children};
    

提交回复
热议问题