- Phân tích cú pháp XML AJAX/jQuery
- Sơ đồ XML với Đa kế thừa
- Tuần tự hóa Enum Json so với XML
- XML loại đơn giản, nội dung đơn giản, loại phức tạp, nội dung phức tạp
Tôi đã nhận thấy Phản ứng
Bạn có thể nhập nó như thế này:
import * as React từ 'react';
...hoặc như thế này:
import React từ 'react';
Nhập khẩu đầu tiên phản ứng
Mọi thứ trong mô-đun (xem:Nhập toàn bộ nội dung của mô-đun)
Cái thứ hai chỉ nhập khẩu mặc định
Xuất mô-đun (xem:Nhập mặc định)
Hai cách tiếp cận này có vẻ khác nhau và hoàn toàn không tương thích.
Tại sao cả hai đều hiệu quả?
Vui lòng trích dẫn mã nguồn và giải thích cơ chế... Tôi muốn hiểu cách thức hoạt động của nó.
làm mới
cái nàyKHÔNG Sự khác biệt giữa import * as react from 'react' và import react from 'react' là gì? Một bản sao của
Câu hỏi này được trả lời bằng thông tin chung về mô-đun ES6.
Tôi đang hỏi về phản ứng
Đây là cách hoạt động của các mô-đun. Điều này có vẻ liên quan đến cơ chế xuất khẩu "hacky"trong nguồn ở đâyTuy nhiên, vẫn chưa rõ ràng làm thế nào toàn bộ Các mô-đun và mặc định Xuất khẩu sang Phản ứng
và cả hai phương pháp đều hoạt động với JSX đã biên dịch, v.v.
1 Câu trả lời
Trên thực tế, câu lệnh nhập ES nhập khẩu mặc định
Và nhập khẩu *
Chúng không phải là một thứ và thực tế là chúng hoạt động giống nhau trong trường hợp này là sự kết hợp giữa cách tác giả React chọn để cung cấp thư viện và lớp tương thích trong TypeScript (sử dụng esModuleInterop
) hoặc Babel và trình đóng gói của bạn để chúng "hoạt động bình thường". Theo đặc tả ES6, nó có thểKhông nênhoạt động, nhưng ngày nay chúng ta vẫn làm việc trong thời đại mà các mô-đun JS rất lộn xộn, do đó các công cụ như Babel, TypeScript, Webpack, v.v. cố gắng chuẩn hóa hành vi.
React không phải là thư viện ES6. Nếu bạn nhìnmã nguồnBạn là index.js
Xem nội dung này trong:
const React = yêu cầu('./src/React');
// TODO: quyết định biểu mẫu xuất cấp cao nhất.
// Cách này khá khó nhưng có thể áp dụng được với cả Rollup và Jest.
module.exports = React.default || React;
(Lưu ý các bình luận, ngay cả trong mã nguồn React, nơi chúng xung đột với khả năng tương thích xuất mặc định của ES6.)
module.exports =
Cú pháp là CommonJS (NodeJS). Trình duyệt sẽ không hiểu được điều này. Đó là lý do tại sao chúng tôi sử dụng các bundler như Webpack, Rollup hoặc Parcel. Họ hiểu nhiều cú pháp mô-đun khác nhau và tạo ra các gói có thể chạy trên trình duyệt.
Nhưng mặc dù React không phải là thư viện ES, cả TypeScript và Babel đều cho phép bạn nhập nó như thể nó là một thư viện ES (sử dụng nhập khẩu
cú pháp, thay vì yêu cầu()
, v.v.), nhưng có những khác biệt giữa CJS và ES cần phải được giải quyết. Một trong số đó là xuất khẩu =
Có thể Cung cấp cho bạn những thứ mà ES không có cách nhập tuân thủ theo thông số kỹ thuật, như hàm hoặc lớp dưới dạng mô-đun. Để giải quyết những vấn đề không tương thích này, Babel tạm thời cho phép bạn nhập các mô-đun CJS như thể chúng đã xuất một thứ gì đó theo mặc định.hoặcNhập dưới dạng không gian tên. TypeScript đã không làm điều này trong một thời gian, nhưng gần đây đã thêm nó như esModuleInterop
Một tùy chọn trong . Vì vậy, hiện tại cả Babel và TypeScript đều khá nhất quán khi cho phép nhập các mô-đun CJS bằng cách sử dụng lệnh nhập ES mặc định hoặc lệnh nhập ES có không gian tên.
Đối với TypeScript, điều này còn phụ thuộc vào cách định nghĩa kiểu của thư viện thực sự được xác định. Tôi sẽ không đi vào chi tiết của việc này, nhưng bạn có thể tưởng tượng ra một tình huống mà một mặt hàng nhập khẩu cụ thểKhi chạy bạn có thểnhưng TypeScript không thể biên dịch mà không có lỗi.
Một điều nữa đáng đề cập là nếu bạn nhìn vào mã xây dựng React, bạn sẽ thấy một Mô-đun UMD. phiên bản và phiên bản CJS. Phiên bản UMD chứa một số mã thời gian chạy thô để có thể hoạt động trong mọi môi trường mô-đun (bao gồm cả trình duyệt). Nó chủ yếu hữu ích nếu bạn chỉ muốn đưa React vào thời gian chạy (tức là bạn không sử dụng bundler). Ví dụ .
Có khó hiểu không? Vâng, tôi nghĩ vậy. :)
Liên quan đến javascript - from 'react' import * as React; so với from 'react' import React;, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/55285737/
Vấn đề là, khi người dùng trả lời bài đăng của nhau, tôi phải làm thế này: margin-left:40px; cho 1 cấp sâu react margin-left:80px; cho 2 cấp sâu v.v. Nhưng tôi muốn div react
Tôi đang cố gắng tìm cách kết nối React Router với React VR. Đầu tiên, tôi có nên sử dụng react-router dom/native không? Hiện tại vẫn chưa rõ ràng vì React VR được xây dựng trên React.
Tôi mới làm quen với React hoặc có kiến thức cơ bản về lập trình nói chung. Tôi không chắc sự khác biệt giữa các câu lệnh import * as react from 'react' và import react from 'react' là gì. Cảm ơn bạn trước!
Tôi đang sử dụng phiên bản ổn định mới nhất của react, react-native, react-test-renderer, react-dom. Tuy nhiên, react-native phụ thuộc vào react@16.0.0-alp
Có thể phát triển ứng dụng React Native thông qua kiến trúc phần mềm như MVC, MVP, MVVM không? Cảm ơn bạn. Câu trả lời tốt nhất là có. React Native chỉ là chữ “V” trong các mẫu thiết kế phần mềm mà bạn đã đề cập. Nếu bạn xem xét nó
Xin chào, tôi đang cố gắng liên kết một hàm vào nút bên phải của trình duyệt nhưng nó lại báo lỗi. Đây là mã của tôi: import React, {Component} from 'react'; import Ico
Tôi đã tạo một ứng dụng bằng React Native và tôi đang cố gắng tạo apk. Xem http://facebook.github.io/react-native/docs/signed-apk-android.
1 [Tôi đã thử thay đổi z-index của phân trang thành 0 nhưng không được] Đây là liên kết đến codesandbox của tôi: Vui lòng kiểm tra menu thả xuống chọn cuối cùng, nó nằm sau phân trang. https://codesandbox.io/s/j
Tôi nhận thấy React có thể được nhập như thế này: import * as React from 'react'; ...hoặc như thế này: import React from 'react'; Lần nhập đầu tiên là React
Tôi mới làm quen với react-native. Tôi đang sử dụng React Native Paper để cung cấp chủ đề cho mọi màn hình. Tôi cũng đang sử dụng react-navigation stack navigator và drawer navigator. Đầu tiên, để điều hướng, chủ đề của bài viết không nằm trong thành phần điều hướng.
Tôi có một ứng dụng React Native được tạo bằng Ignite CLI. Tôi đang cố gắng sử dụng TabNavigator với React Navigation nhưng tôi không thể tìm ra cách lấy dữ liệu từ một ứng dụng
Tôi đang cố gắng thực hiện thử nghiệm chụp nhanh trong ứng dụng React của mình. Tôi hiện đang sử dụng thư viện react-testing để kiểm thử đơn vị chung. Tuy nhiên, đối với thử nghiệm chụp nhanh, tôi đã thấy nhiều cách tiếp cận khác nhau trực tuyến, sử dụng phản ứng
Tôi đang xây dựng một ứng dụng gốc đa nền tảng bằng cách sử dụng react-native và sử dụng react-navigation để điều hướng giữa các màn hình và redux để quản lý trạng thái điều hướng. Sự cố xảy ra khi tôi lồng các trình điều hướng. Ví dụ,
Tôi đang gặp phải một vấn đề khá phức tạp liên quan đến phân trang và Điều hướng React Native. Nhấp vào ngăn kéo có danh sách các danh mục và tất cả chúng sẽ chuyển đến màn hình. Phát biểu vấn đề: Khi tôi nhấp vào các danh mục một cách ngẫu nhiên, mọi thứ đều hoạt động bình thường. Tuy nhiên, tôi gặp phải sự cố trong quá trình phân trang. Giả mạo
Đây là điều hướng ngăn kéo của tôi: const DashboardStack = StackNavigator({ Dashboard: { screen: Dashboard
Đang cố gắng xây dựng ứng dụng Android react-native nhưng nhận được thông tin lỗi sau Chạy jetifier để di chuyển thư viện sang AndroidX. Bạn có thể
Hiện tại tôi đang triển khai React Router v.4 trong một ứng dụng, trong đó tôi cũng sử dụng Webpack để đóng gói. Trong cấu hình webpack của tôi, tôi có React, ReactDOM và React-route
Tôi đang sử dụng React.children để render một số tuyến con với react router (cho tất cả các tuyến con trong một tuyến chính nhất định. Điều này hoạt động tốt với tôi, nhưng trước đó tôi đã hủy cấu trúc các thuộc tính được truyền cho các tuyến con
Khi tôi chạy ứng dụng React, nó báo lỗi export 'React' (nhập dưới dạng 'React') không tìm thấy trong 'react'. Đối với tất cả các lỗi trang, hãy xem hình ảnh ở đây. Câu trả lời tốt nhất dựa trên lỗi trong hình ảnh
Tôi gặp lỗi này khi triển khai Image-slider trên ứng dụng của mình bằng ví dụ này. nhập React,{Component} từ 'react' nhập {View,T
Tôi là một lập trình viên xuất sắc, rất giỏi!