Реакция импорта против реакции, {Компонент}

javascript reactjs ecmascript-6 react-jsx

4702 просмотра

3 ответа

Import React против Import React, { Component }

Какой из них лучше и почему?

Или это не имеет никакого значения, кроме написания меньшего количества кода позже?

Означает ли письмо, { Component }что оно только импортирует объект Компонента?

Автор: epiqueras Источник Размещён: 12.11.2019 09:14

Ответы (3)


15 плюса

Решение

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.

Приведенный выше абзац не имеет значения в данном конкретном случае, потому что вам всегда нужно иметь React в текущем пространстве имен для написания JSX, но только импорт именно тех модулей, которые вам нужны в других случаях, может привести к меньшему объему связанного кода в конце.

Кроме того, это полностью личное предпочтение.

Автор: Andy Ray Размещён: 07.09.2016 04:40

3 плюса

Что они называются импортами или импортом пространства имен. В основном они копируют содержимое модуля в пространство имен, что позволяет:

import React, { Component } from 'react';

class SomeComponent extends Component { ... }

Обычно мы расширяем React.Component, но поскольку модуль Component импортируется в пространство имен, мы можем просто ссылаться на него Component, в React.этом нет необходимости. Все модули React импортируются, но модули внутри фигурных скобок импортируются таким образом, что Reactпри доступе префикс пространства имен не требуется.

Автор: Li357 Размещён: 07.09.2016 04:50

0 плюса

TLDR;

это полностью личное предпочтение.

Просто записка ...

import React, { Component }позволяет делать class Menu extends Component вместо class Menu extends React.Component. Это меньше печатать ...

Если вы хотите меньше печатать, не импортируйте Component в дополнение к React.

import React, { Component } from 'react';
class Menu from Component {

является более типирование , чем:

import React form 'react';
class Menu from React.Component {

даже если вы рассматриваете автозаполнение. ;)

Автор: John Albin Wilkins Размещён: 14.05.2018 07:50
Вопросы из категории :
32x32