Автор оригинала: FreeCodeCamp Community Member.
React.js и vue.js – два из самых популярных библиотек JavaScript на планете. Они как мощные, так и относительно легко подбирать и использовать.
И реагировать и Vue:
- использовать виртуальный дом
- Предоставить компоненты реактивного просмотра
- поддерживать фокус на одном аспекте развития. В этом случае вид.
С таким количеством сходства вы можете предположить, что они оба разные версии одно и то же.
Ну, есть одна серьезная разница между этими двумя библиотеками: как они расширяют возможности вам разработчику создать ваши компоненты для просмотра, а в свою очередь, ваше приложение.
Реагирование использует JSX, термин, придуманный командой RACT, для визуализации контента на DOM. Так что же JSX? В основном JSX – это функция Render JavaScript, которая помогает вставить свой HTML вправо в код JavaScript.
Vue принимает другой подход и использует HTML-подобные шаблоны. Использование шаблонов Vue – это как использовать JSX в том, что они оба создаются с помощью JavaScript. Основным отличием является то, что функции JSX никогда не используются в фактическом HTML-файле, в то время как шаблоны Vue.
Реагировать jsx.
Давайте посмотрим, как работает JSX. Предположим, что у вас есть список имен, которые вы хотите отобразить на DOM. Список новых нанимателей, которые недавно сделали ваша компания.
Если вы использовали простой HTML, вам сначала необходимо создать файл index.html. Тогда вы бы добавили следующие строки кода.
- John
- Sarah
- Kevin
- Alice
Здесь ничего впечатляют, просто простой HTML-код.
Итак, как бы вы сделали то же самое, используя JSX? Первый шаг будет создан еще один файл index.html. Но вместо добавления полного HTML, как вы сделали ранее, вы добавите только простой Div
элемент. Это Div
Будет элемент контейнера, когда все ваш код React Code будет отображаться.
Div
Нужно иметь уникальный идентификатор, чтобы реагировать, знал, где его найти. Facebook имеет тенденцию поддерживать ключевое слово WORT, поэтому давайте придерживаемся этим.
Теперь на самый важный шаг. Создание файла JavaScript, которое будет держать весь код RACT. Позвоните этому App.js.
Так что теперь, когда у вас есть все это, на главное событие. Отображение всех новых напросов до DOM, используя JSX
Сначала вам необходимо создать массив с именами новых напросов.
const names = ['John', 'Sarah', 'Kevin', 'Alice'];
Оттуда вам нужно будет создать реактивный элемент, который будет динамически представлять собой весь список имен. Это без необходимости вручную отображать каждый.
const displayNewHires = (
-
{names.map(name =>
- {name} )}
Ключевая вещь, которую следует отметить, что вы не должны создавать отдельных <
Li> Элементы. Вам нужно только описать, как вы хотите, чтобы они могли смотреть один раз, и отреагируйте, будут обращаться с остальными. Это довольно мощная вещь. Пока у вас есть только несколько имен, представьте, что есть список сотен тысяч! Вы можете посмотреть, как это будет гораздо лучший подход. Особенно я F TH
E
Последний бит кода, необходимый для визуализации контента на экран, является основной функцией реактивной реакции.
ReactDOM.render( displayNewHires, document.getElementById('root') );
Здесь вы говорите отреагировать, чтобы сделать содержание DisplayNewhires
внутри Div
с элементом корня.
Это то, как должен выглядеть ваш последний код REACT:
const names = ['John', 'Sarah', 'Kevin', 'Alice']; const displayNewHires = (
-
{names.map(name =>
- {name} )}
Одна ключевая вещь, которую нужно помнить, вот то, что это все React Code. Это означает, что все будет компилировать до простого старого JavaScript. Вот что бы это было бы в конечном итоге выглядеть так:
'use strict'; var names = ['John', 'Sarah', 'Kevin', 'Alice']; var displayNewHires = React.createElement( 'ul', null, names.map(function (name) { return React.createElement( 'li', null, name ); }) ); ReactDOM.render(displayNewHires, document.getElementById('root'));
Это все, что есть к этому. Теперь у вас есть простое приложение React Application, которое будет отображать список имен. Нечего писать домой, но оно должно дать вам представление о том, на что способно реагировать.
Vue.js шаблоны
В соответствии с последним примером вы еще раз создадите простое приложение, которое будет отображать список имен в браузере.
Первое, что вам нужно сделать, это создать другой пустой файл index.html. Внутри этого файла вы будете создавать еще один пустой Div
с идентификатором корня. Имейте в виду, однако, этот корень только является личным предпочтением. Вы можете назвать удостоверение личности все, что вам нравится. Вам нужно только убедиться, что он соответствует позже, когда синхронизируете HTML к вашему коду JavaScript.
Этот Div будет функционировать, как это происходит в реакции. Он скажет библиотеку JavaScript, в данном случае Vue, где смотреть в доме, когда он хочет начать вносить изменения.
Как только это сделано, вы собираетесь создать файл JavaScript, который будет добраться всем Vuue Code. Назовите это App.js, чтобы остаться последовательным.
Так что теперь, когда у вас есть ваши файлы, готовые к работе, давайте попадаем на то, как Vue отображает элемент в браузере.
Vue использует шаблонный подход, когда дело доходит до манипулирования домом. Это означает, что ваш HTML-файл будет не только пустой Div
, как в реакции. Вы на самом деле собираетесь написать хорошую часть вашего кода в вашем HTML-файле.
Чтобы дать вам лучшую идею, подумайте о том, что нужно, чтобы создать список имени, используя простой HTML. А <
U l> Элемент с Сом
E
Создать <
ul> элемент.
Теперь добавьте один пустой <
Li> Элемент Insid E-й
Элемент
- .
Ничего нового пока нет. Измените, что добавив директиву, пользовательский атрибут VUE, к вашему <
л Я>
элемент.
Директива – это путь Vue добавления функциональности JavaScript прямо в HTML. Все они начинаются с V- и сопровождаются описательными именами, которые дают вам представление о том, что они делают. В этом случае это для цикла. Для каждого имени в вашем списке имен listofnames
Вы хотите скопировать это <
л I> Элемент и замените его с помощью НЕН
w
Теперь код требуется только одно окончательное прикосновение. В настоящее время он будет отображать <
li> Элемент для каждого имени в вашем списке, но вы на самом деле не сказали его, чтобы отобразить фактическое имя в браузере. Чтобы исправить это, вы собираетесь вставить несколько усов, как синтаксис внутри Вы
R
- {{name}}
Теперь <
л I> элемент завершен. Теперь он будет отображать каждый элемент внутри списка, называемого listofnames. Имейте в виду, что слово Имя произвольно. Вы могли бы позвонить Эд это предмет, и это будет служить ту же целью. Все ключевое слово делает, служат заполнителем, который будет использоваться для итерации по поводу списка.
Последнее, что вам нужно сделать, это создать набор данных и фактически инициализируйте Vue в вашем приложении.
Для этого вам нужно будет создать новый экземпляр VUE. Создать его, назначая его переменной под названием приложение.
let app = new Vue({ });
Теперь объект будет принимать несколько параметров. Первый, являющийся самым важным, Эль
(Элемент) Параметр, который говорит Vue, где начать добавлять вещи в DOM. Как вы сделали с вашим реактуальным примером.
let app = new Vue({ el:'#root', });
Последний шаг – добавить данные в приложение VUE. В Vue, все данные, переданные в приложение, будут выполнены так как параметр к экземпляру Vue. Также каждый экземпляр Vue может иметь только один параметр каждого вида. Хотя есть довольно много, вам нужно только сосредоточиться на двух на этот пример, Эль
и данные
Отказ
let app = new Vue({ el:'#root', data: { listOfNames: ['Kevin', 'John', 'Sarah', 'Alice'] } });
Объект данных будет принимать массив под названием listofnames
Отказ Теперь, когда вы хотите использовать этот набор данных в своем приложении, вам нужно только назвать его, используя директиву. Просто, верно?
Вот окончательное приложение:
HTML
- {{name}}
Javascript
new Vue({ el:"#root", data: { listOfNames: ['Kevin', 'John', 'Sarah', 'Alice'] } });
Заключение
Теперь вы знаете, как создать два простых приложения, используя как React и Vue. Они оба предлагают надежное количество особенностей, хотя VUE имеет тенденцию быть легким в использовании. Кроме того, имейте в виду, что Vue позволяет использовать JSX, хотя он не является предпочтительным методом реализации.
В любом случае, это две мощные библиотеки, и вы не можете ошибоваться, используя либо один.
Если вы хотите узнать больше о веб-разработке, проверьте мой сайт на juanmvega.com Для видео и статей о последних стандартах и структурах JavaScript!