@nathan111777

Что такое {Component}? И для чего оно в конкретном примере?

На сайтах пишут:
import React from 'react';
Тоесть, импортируем объект React из библиотеки React

Увидел пример где код написан таким образом:
import React, {Component} from 'react';
Что такое {Component} ? И для чего оно?
  • Вопрос задан
  • 190 просмотров
Решения вопроса 3
miraage
@miraage
Старый прогер
Это называется named export. Изюминка в том, что у React есть только default export.
Вопрос - как оно тогда работает, если это named export, а у React только default?

Ответ в том, что React поставляется как CommonJS версия, а не ESModule.
Можно увидеть в исходниках, что везде в конце пишется "module.exports = React"
https://unpkg.com/react@16.8.6/index.js
https://unpkg.com/react@16.8.6/cjs/react.development.js
https://unpkg.com/react@16.8.6/cjs/react.productio...

Дальше происходит магия (вероятно, вебпака), и получается, что default export дополнительно продублирован named export'ами.

Смотрите пример: https://codesandbox.io/embed/charming-wilbur-b6fwo

Я везде пишу React и всем советую.
И по поводу "меньше символов":

// 70 chars
import React from 'react';
export class Foo extends React.Component {};

// 79 chars
import React, { Component } from 'react';
export class Foo extends Component {};
Ответ написан
Комментировать
0xD34F
@0xD34F Куратор тега React
Импорт React.Component.

Для чего? - Ну, ОЧЕВИДНО, чтобы использовать его при определении классового компонента.
Ответ написан
Комментировать
Чтобы не писать extends React.Component а сразу extends Component

Прочитайте как работают импорты - https://developer.mozilla.org/ru/docs/Web/JavaScri...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы