Понимание React.FC в Typescript

#typescript #react-typescript

#typescript #react-typescript

Вопрос:

Я пытался понять, как реагировать.Тип FC работает и пробовал несколько вещей, это единственное, что работает:

 import React from 'react'
    
    type iProps<P = {}> = {
        (props: P): React.ReactElement<any, any>
    }
    
    interface IPropsTest {
        name: string,
        age: number
    }
    
    const MyComponent: iProps<IPropsTest> = ({ name, age }) => {
        return <div>{name} {age}</div>
    }
  

Может кто-нибудь объяснить эту часть

 type iProps<P = {}> = {
    (props: P): React.ReactElement<any, any>
}
  

Зачем мне нужно <P = {}> и почему я должен ставить (props: P)

Комментарии:

1. что вы пытаетесь сделать? Вы даже не используете FC тип здесь

2. Понимаете ли вы концептуально обобщения Typescript? Если нет, начните с этого.

Ответ №1:

Что такое P = {}

Это общее значение по умолчанию. Если общий аргумент не указан, то P предполагается {} , что .

Почему я должен ставить (props: P)

Это означает, что можно ожидать, что функция будет вызываться с одним аргументом типа P .