Рубрики
Без рубрики

Основные концепции, которые вам нужно знать о реагировании

Я использовал реагирование на пару лет, но когда я начал учиться Я не платил слишком много … Tagged with React, начинающие, JavaScript.

Я использовал реагирование на пару лет, но когда я начал учиться Я не заплатил слишком много внимания на то, что реагирует для меня, например, что реагирует через его API и почему мне нужно использовать JSX для создания компонентов, или почему нам нужна Babel и так далее. Поэтому, если вы начинаете изучать реагирование или работать с ним, вы можете найти этот пост полезным, чтобы узнать о основных концепциях.

JavaScript реагировать

Допустим, у нас нет нет никакой библиотеки RACT, у нас просто ванильный JavaScript, и нам нужно создать простую страницу, которая содержит только текст «Я изучаю основные основы реагирования» в A Div Узел DOM в div с созданным ict root.


  
    

Шаги:

  1. Создать Div HTML-элемент с использованием Документ. Createelement где мы можем пройти аргумент Div в качестве татра
  2. Добавьте текст «Я изучаю основные основы». Мы можем использовать TextContent для этого.
  3. Вставьте этот элемент в документ, используя Добавлять

  
    

Итак, мы получим:


  
    
I'm learning React Fundamentals

За кулисами это то, что реагирует для создания узлов DOM, если вы хотите выкопать его, вы можете взглянуть на Код реагирования исходного кода Отказ Реагистрируйте тегаторы этого императивного браузера API, чтобы дать нам более декларативный API для работы.

При объяснении мы можем сказать, что для создания приложений React для Интернет нам нужно:

  • React: Помогите нам создать реагировать Элементы, похожие на создание элемента в браузере с Document.Createlement.
  • React Dom: Помогите нам сделать реагировать Элементы к DOM, похожему на присоединиться к

Использование RAW React API

Теперь давайте создадим ту же страницу, которую мы сделали раньше с Vanilla JavaScript, но используя библиотеку RACT. Для этого нам нужно добавить внешние сценарии, так что я собираюсь использовать Unpkg Что представляет собой CDN для всего на NPM, поэтому мы можем добавить только URL, и мы загрузим файлы для реагирования и реагирования на дому.

Шаги:

  1. Создайте реактивный элемент, используя творчество который получает следующие параметры:

    • Тип : Это может быть тип элемента, может быть строкой, как Div , Span и т. Д. или компонент реагирования (который обычно является классом или функцией), или может быть типом фрагмента реагирования
    • реквизит : Объект, содержащий свойства
    • [… дети]: Это может быть строка (будет интерпретировать как текст) или ссылку на другие компоненты, которые позволят нам гнездить элементы. Остальные от третьего параметра будут детьми. Помнить, что дети это специальный опорный в реакции
  2. Render React Element в DOM, используя Reactom.runder который получает следующие параметры:

    • Элемент: Реактивный элемент
    • Контейнер: Узел DOM, где элемент будет вставлен в

  

Теперь представьте, что мы хотим сделать список фруктов, таких как использование RAW RACT API:

List of my favorite fruits

  • Apple
  • Orange

Это было бы как:

const rootElement = document.getElementById('root')
const element = React.createElement('div', null,
  [
    React.createElement('p', null, 'List of my favorite fruits'),
    React.createElement('ul', null, 
            React.createElement('li', null, 'Apple'),
            React.createElement('li', null, 'Orange'),
        ),
  ],
})

ReactDOM.render(element, rootElement)

Это выглядит легче понять вам? Это может быть, но представьте, что используйте React таким образом в больших приложениях. Это может быть трудно читать и поддерживать, так что это когда приходит JSX который является HTML-подобным синтаксическим сахаром на вершине RAW API RACT.

Использование JSX.

JSX – это не JavaScript, что означает, что браузер не поймет в наклонно, поэтому нам нужно использовать компилятор кода, такой как Бабел это превратится в стандартный JavaScript

Вы можете играть вокруг Здесь, чтобы увидеть, как Babel выполняет JSX JavaScript

const element = 

I Love React!

// ↓ ↓ ↓ ↓ compiles to ↓ ↓ ↓ ↓ const element = React.createElement( "h1", { className: "title" }, "I Love React!" );

Как продемонстрировано, JSX предоставляет нам краткий и знакомый синтаксис для определения древовидной структуры, которая не требует изучения языка шаблонов или оставляет JavaScript. Хотя вы должны знать Jsx gotchas нравится:

  • Пользовательские компоненты должны быть заглавны : Когда элемент реагирования начинается с строчной буквы, он займет как встроенный компонент, такой как охватывать , Div , H1 Отказ Так что скажем, вы создаете TellPage составная часть
function titlepage({children}) {
  return 

{children}

} function App(){ return(
My first blog!
) } // ↓ ↓ ↓ ↓ compiles↓ ↓ ↓ ↓ function titlepage(_ref) { var children = _ref.children; return React.createElement("h1", { className: "title" }, children); } var element = React.createElement("div", null, React.createElement("**titlepage**", null, "Hello World")); // => ⚠️ titlepage is parsed as a string and doesn't take as a component/function

Кроме того, вы получите ошибку в вашей консоли И это будет предложить вам имя, начиная с заглавной буквы

// Error: The tag  is unrecognized in this browser. 
// If you meant to render a React component, start its name with an uppercase letter.

Окончательные примечания

Я бы побудил вас провести некоторое время с исходным кодом в реакции, играть с JSX в Online Babel Repl Чтобы увидеть скомпилированную версию этого кода, чтобы вы могли лучше понять, чтение и использование его. Зная, что делает абстракция, сделает вас более эффективными для его использования.

Вот несколько разных ссылок, связанных с этим, что поможет мне понять за кулисами Реагировать

Надеюсь, тебе понравилось. Спасибо за чтение!

… Как всегда, наслаждайтесь своим процессом обучения 🚀

Не стесняйтесь охватить Если вы хотите поболтать о чем угодно.

Оригинал: “https://dev.to/paulclindo/essential-concepts-you-need-to-know-about-react-49g2”