Что означает в ‘приложение для экспорта класса по умолчанию расширяет компонент’, когда я создаю проект с использованием react-native

#reactjs #react-native

#reactjs #react-native

Вопрос:

Я знаком с react, и теперь я только что создал проект react native, используя команду инициализации react-native. Я заметил в App.js файл, подобный этому ,

 export default class App extends Component<Props> {

}
  

Что <Props> здесь означает.?

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

1. Вы уверены, что используете App.js а не App.tsx?

2. да, это App.js файл в корневом каталоге. Я также заметил, что type Props = {}; чуть выше этой строки

3. Это синтаксис typescript. Здесь вы определяете тип значений, которые передаются вашему компоненту приложения. Редактировать: Обратитесь к ответу Крайлога. Я забыл о потоке.

4. @Javascriptonian спасибо

Ответ №1:

Этот код использует Flow, который является средством проверки типов для JavaScript, написанным Facebook.

Документация React объясняет, как она используется здесь:

Мы удалили нашу зависимость от prop-types и добавили тип объекта потока с именем Props с той же формой, что и у prop types, но используя синтаксис статического типа Flow. Затем мы передали наш новый тип Props в React.Компонент в качестве аргумента типа.

Затем средство проверки типов потока может сообщить вам, отправляете ли вы неправильные типы в качестве реквизитов вашего компонента (вместо использования prop-types ).

Ответ №2:

Это для Flow типа. Вы можете прочитать о react-native типах потоков здесь https://medium.com/react-native-training/getting-started-with-react-native-and-flow-d40f55746809