о компонентах React

ня я начал новый проект с использованием React Native 0.51.0 и заметил, что в синтаксисе класса для файла проекта по умолчанию добавлено что-то новое:<{}> синтаксис послеextends Component:

export default class App extends Component<{}> {
   ...
}

Я пытался провести исследование, но большинство поисковых систем игнорируют специальные символы даже при точном сопоставлении строк, поэтому попытка выяснить, что это за синтаксис, оказалась сложной. Я провел некоторое тестирование и смог выяснить, что это изменение появилось в v0.49.0.заметки о выпуске не упоминайте, что делает этот добавленный синтаксис.

Много нечеткого поиска и чтения ключевых слов приводит меня к мысли, что это может быть синтаксис, связанный с TypeScript, но, будучи незнакомым с языком, я не знаю, как искать и узнавать больше о синтаксисе, не зная, что правильный термин для этого. Может ли кто-нибудь сказать мне, как называется синтаксис и что он делает? В частности, что касается React Native.

Ответы на вопрос(1)

Решение Вопроса

поток набрав реквизиты вы получите в компоненте.Component<{}> будет означать, что вы не ожидаете, что компонент будет получать реквизит.

С потоком иReact.ComponentВы можете определить типы для реквизита и состояния (см.Реагировать $ Компонент объявление типа для деталей).

Пример из потокадокументация о компонентах React

import * as React from 'react';

type Props = { /* ... */ };

type State = {
  count: number,
};

class MyComponent extends React.Component<Props, State> {
  state = {
    count: 0,
  };

  componentDidMount() {
    setInterval(() => {
      this.setState(prevState => ({
        count: prevState.count + 1,
      }));
    }, 1000);
  }

  render() {
    return <div>Count: {this.state.count}</div>;
  }
}

<MyComponent />;

Ваш ответ на вопрос