import React, { Component }
позволяет делать class Menu extends Component
вместо class Menu extends React.Component
. Это меньше типизации и дублирования пространства имен React, которое обычно является желательным современным соглашением о кодировании.
Кроме того, такие инструменты, как Webpack 2 и Rollup, «трясут дерево», что означает, что любой неиспользованный экспорт не входит в ваш окончательный код. С import React
/React.Component
вы гарантируете, что исходный код React будет в комплекте. С помощью import { Component }
некоторые инструменты будут только связывать код, необходимый для использования класса Component
, за исключением остальной части React.
Вышеупомянутый абзац в данном конкретном случае не имеет значения, поскольку для записи JSX всегда требуется иметь React в текущем пространстве имен, но только импорт точных модулей, которые вам нужны в других случаях, может привести к уменьшению кода в конце.
Помимо этого, это личное предпочтение.
Итак, я все еще импортирую PropTypes и все остальное, что приходит с React? Не похоже, что я просто импортирую компонент? – epiqueras
@epiqueras Вы импортируете все, но Компонент импортируется таким образом, что вам не нужно ссылаться на него как на «React.Component», но вместо этого просто «Компонент» – Li357
Просто fyi, даже если вы просто делали '{ Компонент} из «реакции», ваш поставщик еще будет связывать зависимость ENTIRE, поэтому, если вы беспокоитесь о размере, это не способ уменьшить его. – ZekeDroid