2017-05-04 24 views
5

Tôi làm việc tại một công ty có cơ sở mã phản ứng lớn ... không phải tất cả đều phản ứng tiêu chuẩn, và không phải tất cả tuân theo tiêu chuẩn riêng của nó (im nghĩ rằng đây là tiêu chuẩn khá haha).Phản ứng - khi nào gọi phản ứng như một biến vs nhập phản ứng

Tôi thấy phản ứng được đưa vào các thành phần khác nhau trong suốt. Dưới đây là hai ví dụ - được đánh dấu bằng (1) và (2):

(1) let React = require('react'); 
(2) import React, {Component, PropTypes} from 'react'; 

Sự khác biệt và lý do sử dụng cái kia với cái kia là gì? Không chỉ có react được đưa vào. Tôi cũng thấy import {Component, PropTypes} from 'react';let {Component} = React;.

Tôi đã thực hiện tìm kiếm ngắn gọn về chúng internets và không thể tìm thấy những gì tôi đang tìm kiếm. có thể các cụm từ tìm kiếm của tôi bị tắt một chút. Id được hạnh phúc với lời giải thích ngắn gọn và tài liệu hy vọng để đi với nó. Cảm ơn bạn.

+0

Đầu tiên là cú pháp commonjs/requirejs. Nó được thêm vào bằng cách sử dụng một thư viện. Thứ hai là cú pháp chuẩn ES6 chính thức. Trong nhiều tình huống họ có thể hoán đổi cho nhau. Sự khác biệt lớn nhất là 'import' phải luôn luôn liên tục trong khi' require' là hoàn toàn động, bạn có thể vượt qua bất kỳ chuỗi được tạo ra ở đó. – Sulthan

+1

Tôi đã có thể tìm thấy khá nhiều thông tin về điều này trên internet. Bạn đã thực sự tìm kiếm? : D – Chris

+0

@Chris, không phải cũng như tôi có thể có, tôi chắc chắn. Khi tìm kiếm của tôi đưa tôi ra khỏi khóa học, tôi quyết định đến đây. Khi tôi không nhìn thấy nó ở đây, tôi hỏi ở đây. btw, tìm kiếm trên SO Tôi đã chạy vào phản hồi của bạn trong quá khứ. Cảm ơn bạn đã viết tất cả các câu trả lời, họ đã thực sự giúp tôi. – Lefty

Trả lời

5

Sự khác biệt giữa hai là

1) let React = require('react'); 

là ES5 cú pháp, trong khi

2) import React, {Component, PropTypes} from 'react'; 

là ES6 cú pháp

Tuy nhiên không có Javascript engine như chưa supporst ES6 và do đó một số công cụ tiện ích như babel đằng sau hậu trường chuyển đổi định nghĩa ES6 sang cú pháp ES5 của yêu cầu mà @azium nói là cú pháp commonJS của Node chỉ để nhập các mô-đun.

+2

thay vì es5 so với es6, giống cú pháp nhập khẩu commonJS của Node so với cú pháp nhập ES6. es5 không có bất kỳ tiêu chuẩn nào cho các mô-đun – azium

+0

Có @azium bạn nói đúng –

0
  • 1) là cú pháp của ECMAScript 5 (ES5) xuất bản năm 2009
  • 2) là cú pháp của ECMAScript 6 (ES6) còn được gọi là ECMAScript 2015 (ES2015) xuất bản năm 2015
(1) let React = require('react'); 
(2) import React, {Component, PropTypes} from 'react'; 
Các vấn đề liên quan