Подтвердить что ты не робот

Требуется ли импорт или импорт Реагента?

Требуется ли импорт или импорт React Native?

Все, что я могу найти, это старый учебник с использованием require(), но когда я запускаю init-init init, я получаю проект, который использует импорт. Это связано с недавними изменениями в React Native?

В чем основные отличия?

4b9b3361

Ответ 1

Да, последние учебники и примеры React Native используют новый синтаксис import.

https://facebook.github.io/react-native/docs/tutorial.html

В терминах различий между CommonJS (require) и модулями ES6 (импорт) здесь есть несколько хороших ответов:

Использование Node.js требует импорта/экспорта ES6

Я думаю, что большинство людей предпочитают новый синтаксис ES6. Однако в настоящее время JS-модули не используют модули ES6, поэтому их необходимо преобразовать с помощью транспилятора ES6 (например, Babel) в операторы require. React Native - это настройка, чтобы сделать это из коробки, поэтому вы можете просто начать использовать import, и он должен просто работать.

Ответ 2

Основное отличие состоит в том, что import является синтаксисом ECMAScript 6, а require - ECMAScript 5. Оба являются взаимозаменяемыми, но импорт имеет хороший синтаксис для переименования: export { MY_CONST as THE_CONST, myFunc as theFunc };.

Ответ 3

React Native теперь использует Babel для компиляции модулей (doc). Если вы используете приложение с create-react-native-app, в папке node_modules есть плагин Babel с именем

babel-plugin-transform-es2015-modules-commonjs

на который ссылается приложение.

Как следует из названия, этот плагин просто преобразует синтаксис модулей ES2015 в CommonJS.

Для основных отличий мне нравится этот ответ, появляющийся в другом сообщении.