01. Что такое React JS?

React - популярный фреймворк JavaScript, используемый для разработки пользовательского интерфейса. Разработчики программного обеспечения неохотно называют это «фреймворком», потому что он дает разработчикам свободу, скорость работы, точный код и специальные функции, которые другие фреймворки не могут предоставить. React - очень гибкая, декларативная и эффективная библиотека JavaScript. Это интерфейсная библиотека на основе компонентов, которую можно использовать для создания клиентских уровней всего одного приложения.

История React JS:

«Джордан Уолке», инженер Facebook, хочет добавить новое измерение в разработку современного пользовательского интерфейса с помощью React JS. Когда он приступил к созданию приложения на стороне клиента, он увидел, что DOM (объектная модель документа) по какой-то причине замедляется. Эта проблема приходит ему на заметку, когда он добавляет файлы HTML и XML в API приложения (интерфейс прикладного программирования). Он подготовил React JS, укрепив основу логической структуры.

Он впервые представил React JS в 2012 году. Ранее в приложении он добился огромного успеха, используя React JS вместо HTML5. И официально в 2013 году власти Facebook сделали его открытым.

02. Компонент React.

Компонент React - это строительный блок реакции. Обычно мы видим много компонентов в приложении React. Компонент на самом деле ничто, но мы можем сравнить его с частями машины. Подобно тому, как множество мелких частей объединяются на одной машине, чтобы сформировать целую машину, также в приложении React множество таких компонентов объединяются, чтобы сформировать целое приложение.
В React.js есть два типа компонентов. .
1. Компонент класса
2. И функциональный компонент

Пример компонентов класса:

import React, { Component } from 'react';

class MyComponent extends Component {
  render() {
    return <p>React Component</p>
  }
}

export default MyComponent;

Это пример функционального компонента:

import React from 'react';

const FunctionComponent = () => (
  <div>
    <MyComponent />
    <p>A Function Component</p>
  </div>
)

export default FunctionComponent;

03. Как работают перехватчики React?

Хуки позволяют использовать другие функции состояния и React без использования классов. Также может выполняться работа с методом жизненного цикла. Это означает, что все виды функциональности могут быть реализованы без использования компонентов на основе классов. Преимущество этого состоит в том, что логика, связанная с состоянием, может использоваться многими компонентами. Это означает, что если более чем один компонент имеет одинаковую логику состояния, ее можно повторно использовать, реализовав ее один раз с помощью настраиваемой ловушки, не повторяя ее в каждом компоненте. Более того, большие и сложные компоненты просты, потому что различные функции одного и того же компонента могут быть написаны отдельно с помощью хуков. Вы можете узнать больше о крючках здесь.

В REACT.JS много крючков.

Посмотрите простой пример с useState Hook:

04. UseState в React Js.

Используя ловушку useState, теперь вы можете вызвать useState () свой функциональный элемент.
useState () возвращает два массива вещей:

01. первое значение, представляет текущее состояние.
02. и Используйте его для обновления значений.

Посмотрите пример:

import React, { useState } from 'react';

//create your forceUpdate hook
function useForceUpdate(){
    const [value, setValue] = useState(0); // integer state
    return () => setValue(value => value + 1); // update the state to force render
}

function MyComponent() {
    // call your hook here
    const forceUpdate = useForceUpdate();
    
    return (
        <div>
            {/*Clicking on the button will.. force to re-render like force update.. does */}
            <button onClick={forceUpdate}>
                Click to re-render
            </button>
        </div>
    );
}

05. React.js useEffect.

Я использовал useState Hook, чтобы объявить состояние этого функционального компонента. Я также объявил 3 кнопки, определяющие 3 разных типа содержимого, и событие onClick для них - это три кнопки, я вызвал функцию setContentType, чтобы изменить состояние «содержимого». Это обновит DOM, который компонент будет повторно визуализировать. В основном Effect Hook, useEffect, добавляет возможность реагировать на побочные эффекты приложения из функциональных компонентов.

06. А как насчет JSX?

Знание синтаксиса JSX очень важно для работы с React.js.

const element = <h1>Welcome to Auntor World!</h1>;

посмотрите пример, который называется JSX. Этот синтаксис похож на HTML, но это не строка HTML или JavaScript. Это синтаксическое расширение JavaScript.

07. Назначение JSX.

const element = React.createElement(
    "h1",
    null, 
    "Welcome to Auntor World!"
);

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

08. Встраивание выражений JSX.

В следующем примере давайте объявим переменную с именем name. Затем используйте его в JSX с фигурной скобкой:

import React from "react";

const Hello = () => {
  const name = "Auntor";

  return (
    <div>
      <h1>Hello,, {name}</h1>
    </div>
  );
};

export default Hello;

В JSX вы можете написать любое допустимое выражение JavaScript внутри фигурной скобки. Например

import React from "react"

const Total = () => {
  return (
     <h1>Total {10 + 7}</h1>
  )
}

export default Total;

В этом примере я встроил функцию JavaScript в элемент h1 formatName (user).

import React from "react"

const FormatName = () => {

  const user = {
    firstName: 'AJ',
    lastName: 'Auntor'
  };
  
  const formatName = (user) => `${user.firstName} ${user.lastName}`;
  
  return (
    <h1>
      Good Morning, {formatName(user)}!
    </h1>
  )
}

export default FormatName;

09. Зачем нужен Context API в react.js?

Обычно в приложении React данные передаются от родителя к потомку с помощью props, но такое использование требует громоздкости для типов props. Контекстный API - это простой способ обмениваться значениями компонентов или передавать данные, подобные этим, между компонентами от родительского к дочернему, а также от дочернего к родительскому без использования пропсов.

10. Реагировать на рендеринг элемента.

import React from 'react';
import ReactDOM from 'react-dom';

В этом примере вы увидите две библиотеки React. Один - это прямая реакция, а другой - реакция. Раньше React был в основном библиотекой. Но позже была создана библиотека, разделив функции собственно реакции, которая по сути является реакцией. И еще один, у которого есть react-dom, - это то, что он будет использоваться для работы с нашим dom. В отличие от элементов DOM браузера, элементы React представляют собой простые объекты, и их нужно создавать. React DOM требует обновления React DOM для соответствия элементам React ...