@KnightForce

React Native. Что означает такое объявление Component и function (data: Object): {[name: string]: number} {}?

Открыл чужой код Js в проекте React Native и увидел там такое объявление функции.
Сколько искал не нашел объяснение.

1)
При создании чистого проекта React.
type Props = {};
export default class App extends Component<Props> {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit App.js
        </Text>
        <Text style={styles.instructions}>
          {instructions}
        </Text>
      </View>
    );
  }
}

По каким правилам работает type Props = {};?
Зачем нужен Component
2)
export function create(data: Object): {[name: string]: number} {}


Как это работает и главное где об этом можно прочесть?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
nd0ut
@nd0ut
Это не просто JavaScript, а TypeScript или Flow.

type Props = {}
- это type alias. Подробнее в документации: www.typescriptlang.org/docs/handbook/advanced-type... или https://flow.org/en/docs/types/aliases/

Что касается использования компонента, то да, Вы правы, в этом случае предпочтительнее было использовать чистую функцию, ибо компонент stateless. Вероятно, автор предполагал, что в будущем там будет stateful и использовал класс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы