- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在我的 React 中广泛使用命名导出和默认导出,我遇到了这 2 个相似的语法。
从'./Button'导出默认值;
export { default } from './Button';
有人能告诉我他们有什么区别吗?看起来他们正在做同样的事情,而以前的 VSCode Go To Definition
功能不适用于前者。
1 Câu trả lời
有什么区别
两者之间有很大的区别,一个是标准的 ES6,另一个是提案。
// Standard ES6
export { default } from './Button';
这是标准的 ES6:它从当前模块导出 Button 的默认值(不改变当前模块的本地范围)
// A Proposal
export default from './Button';
这是一个提案,它解释了为什么它在 vscode 中不起作用这是提案 https://github.com/tc39/proposal-export-default-from (还是第一阶段)
基本上,根据提案,两者的工作方式应该完全相同,提案只是另一种更优雅的编写方式——因此它与我们在标准 ES6 中导出默认值的方式相匹配。
如果您想了解提案作者提出的确切原因,请看这里 https://github.com/tc39/proposal-export-default-from#common-concerns
为什么它们都有效
今天经常使用的 JavaScript 不再是单纯的解释型语言。它更像是一种转译后的语言,我们在其中编写的内容(尽管是用 JavaScript 或类似的东西)仍然与我们为 JS 引擎发送的内容不同。
现在它适用于您(在您的代码中),因为您的构建系统的一部分正在采用使用此提案编写的代码并将其转换为标准 ES6。如果我们要谈论最流行的 JS 转译器 Babel,则可以使用以下插件启用此语法 https://babeljs.io/docs/en/next/babel-plugin-proposal-export-default-from.html .
我应该继续使用该提案吗
最好不要,这是状态 1 中的提案,即使 Babel - 或任何其他转译器 - 使其工作,它也有可能永远不会成为 Standarad JavaScript。如果发生这种情况,将来您将不得不重写该代码。
关于javascript - export default 和 export { default } 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57919125/
Điều này hiếm khi được sử dụng trong jQuery. Khi tôi xem mã, tôi thấy nó đã được sử dụng, vì vậy tôi đã gỡ lỗi giá trị này và nghĩ rằng đây chính là trường hợp đó. Nó vẫn khá hữu ích. Sau đây là tóm tắt về sự khác biệt và cách sử dụng của this và $(this). $(this) tạo ra cái gì?
Có sự khác biệt nào giữa việc sử dụng các lớp singleton và các bean được quản lý trong phạm vi ứng dụng để lưu trữ dữ liệu ứng dụng không? Tôi cần tra cứu một số tài nguyên JNDI, chẳng hạn như giao diện bean từ xa, vì vậy tôi đã tự viết cho mình một singleton để lưu trữ các tham chiếu của mình và chỉ cho phép
Nếu bạn xem kỹ các hình ảnh đi kèm, bạn sẽ nhận thấy rằng bạn có thể sử dụng Eclipse IDE để cấu trúc lại mã Groovy và chuyển đổi các phương thức thành closure và ngược lại. Vậy closure thực chất là gì và chúng khác với phương thức như thế nào? Có ai có thể đưa ra một ví dụ tốt về việc sử dụng closures không?
Sự khác biệt giữa vagrant box repackage (docs) và vagrant package (docs) là gì? Tôi nhận ra rằng gói vagrant chỉ hoạt động với VirtualBox.
Tôi muốn xem liệu có ai có thể giải thích tại sao đoạn mã sau lại hoạt động với valueOf nhưng lại không hoạt động với các đoạn mã khác không. nhập java.math.BigDecimal; lớp công khai Thay đổi { publ
Câu hỏi này đã có câu trả lời: Đã đóng cách đây 12 năm. Các bản sao có thể: Closures/Lambda trong PHP hoặc Javascript là gì trong ngôn ngữ bình dân
Câu hỏi này đã có câu trả lời ở đây: Vagrant, Docker, Puppet, Chef (3 câu trả lời) Đã đóng 2 năm trước. Docker và Chef có điểm gì chung?
Đoạn mã sau đây tạo ra kết quả tương tự trên 95% máy, nhưng lại khác nhau ở một số máy. Ở chế độ Gỡ lỗi, đầu ra là: Thay đổi từ Mới thành Hoàn thành OK Nhưng ở chế độ Phát hành: Thay đổi
////Tạo đối tượng var Obj; // init Object Obj= {}; Sự khác biệt giữa hai cái này là gì? Có thể nói ngắn gọn thế này được không? Có lợi ích gì khi sử dụng theo cách này không?
Tôi đang cố gắng tìm ra sự khác biệt giữa các dịch vụ hẹn giờ. Tôi nên sử dụng cái nào và khi nào? Tôi đang sử dụng máy chủ ứng dụng Jboss. 1) java.ejb.Schedule. @Schedule chú thích hoặc cấu hình từ xml. 2) javax.e
Tôi đã phát hiện ra rằng có ba cách khác nhau để truyền đối tượng vào hàm trong C++. Giả sử lớp của tôi như thế này: class Test { int i; public: Test(int x);
Sự khác biệt là gì? lớp công khai Kiểm tra { công khai tĩnh void main (String args []) { Chuỗi toBeCast = "c
Nếu tôi có một cột, đặt làm chỉ mục chính, đặt là INT. Nếu tôi không thiết lập chế độ tự động tăng mà chỉ chèn các số nguyên ngẫu nhiên duy nhất vào thì liệu điều này có làm chậm các truy vấn trong tương lai so với chế độ tự động tăng không? Nếu tôi có chỉ mục chính và chỉ mục duy nhất là INT
Sự khác biệt giữa hai định dạng ngày tháng này là gì? Cái đầu tiên cho biết thời gian thực tế, cái thứ hai cho biết thời gian bằng cách thêm giá trị chênh lệch múi giờ. NSDateFormatter *dateFormatter = [[phân bổ NSDateFormatter]
Nếu có một hàm, chẳng hạn như foo: function foo() { console.log('bar'); } thì trong JavaScript, sự khác biệt giữa việc gọi một hàm từ một hàm khác như thế này là gì:
đóng cửa. Câu hỏi này dựa trên ý kiến. Hiện tại không chấp nhận câu trả lời. Bạn có muốn cải thiện câu hỏi này không? Cập nhật câu hỏi để bạn có thể trả lời bằng thông tin và trích dẫn bằng cách chỉnh sửa bài đăng này. . Đã đóng cửa 4 năm trước. Ngẫu hứng
Mã là gì: class Time { private: int hours; int minutes; int seconds; private
Tôi biết đây là điều rất cơ bản, nhưng có ai phiền giải thích sự khác biệt giữa hai khai báo mảng này không: #include array myints; ... và: int myints[5]; ... và tại sao lại là myints.size
Tôi đã học cách tính độ đặc hiệu của css theo http://reference.sitepoint.com/css/specificity Tuy nhiên, dựa trên tài liệu tham khảo này, tôi không hiểu sự khác biệt giữa các lớp giả (từ c) và các phần tử giả
Tại sao lại xuất hiện thêm các dòng trống khi chạy 2)? Với tôi, 1 giống như 2. Vậy tại sao lại thêm dòng ở 2)? 1) xuất p1=$(cd $(dirname $0) && pwd) #
Tôi là một lập trình viên xuất sắc, rất giỏi!