2016-10-09 3 views
5

Я хотел бы дважды проверить, чтобы убедиться, что я понимаю импорт достаточно, чтобы узнать, нормально ли это делать import {_.identity} from 'underscore' против import _ from 'underscore'? Это единственное использование подчеркивания, если конкретный файл.es6 import from underscore

Спасибо за вашу помощь

ответ

7

Похоже, ты очень близко!

Есть несколько способов сделать это.

IMO чистый способ сделать это выглядит следующим образом:

import { map, reduce, somethingElse } from 'underscore' 

Позволяя называть эти методы, как так:

map(things, thing => { 
    ... 
}) 

{карты, уменьшить} = ... ' part - назначение деструктуризации es6s. Для получения более подробной информации см. the Mozilla docs page!

Другим способом было бы сделать:

import map from 'underscore/map' 
import reduce from 'underscore/reduce' 

Лично я не большой поклонник этого, так как он может начать быть немного более громоздким, поскольку все больше методов подтянуты, но у него есть один небольшой вы можете назвать ссылку, как хотите:

import mappy from 'underscore/map' 
import reducerify from 'underscore/reduce' 

Хотя я бы не советовал использовать эти имена!

+0

Прохладный, поэтому я просто не оставляю '_.'? – pertrai1

+1

Я был бы осторожен с именованием импорта из underscore/lodash, поскольку функции, такие как map и reduce, уже имеют реализацию JS, которая создает столкновение. Обычно лучше назвать их чем-то вроде _map, _reduce или, возможно, что-то странное, как @Spen. – thesublimeobject