2016-10-09 15 views
5

Tôi muốn kiểm tra kỹ để đảm bảo rằng tôi hiểu được việc nhập đủ để biết liệu có được làm import {_.identity} from 'underscore' phản đối import _ from 'underscore' không? Đó là chỉ sử dụng gạch dưới nếu tập tin cụ thể.es6 nhập từ gạch dưới

Cảm ơn sự giúp đỡ của bạn

Trả lời

7

Có vẻ như bạn đang rất thân thiết!

Có một số cách để thực hiện việc này.

IMO cách sạch để làm điều này đi như thế này:

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

Cho phép bạn gọi các phương pháp như vậy:

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

Các '{bản đồ, giảm} = ...' một phần là nhiệm vụ hủy diệt es6. Xem the Mozilla docs page để biết thêm chi tiết về điều này!

Một cách khác sẽ được thực hiện:

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

Cá nhân, tôi không phải là một fan hâm mộ lớn của việc này vì nó có thể bắt đầu là một chút phức tạp hơn như nhiều phương pháp được kéo vào nhưng nó không có một chút lợi thế, bạn có thể đặt tên cho tham chiếu theo ý muốn:

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

Mặc dù tôi không khuyên bạn nên sử dụng những tên đó!

+0

Tuyệt vời, vì vậy tôi chỉ cần bỏ qua '_.'? – pertrai1

+1

Tôi sẽ cẩn thận với việc đặt tên nhập khẩu từ gạch dưới/lodash vì các hàm như bản đồ và giảm đã có một triển khai JS, tạo ra một xung đột. Nó thường là tốt hơn để đặt tên cho họ một cái gì đó như _map, _reduce, hoặc có lẽ một cái gì đó kỳ lạ như @ Spen đề nghị. – thesublimeobject

Các vấn đề liên quan