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

Как использовать функциональные компоненты в реакции

Вы задаваетесь вопросом, как создать компонент в реагировании? Чтобы ответить, так же просто, как создание функции, возвращающей HTML-подобный синтаксис. Импорт реагирует с «реагирования»; Счетчик функций ({n}) {return (

{n} ); } экспортировать счетчик по умолчанию; сейчас Давайте посмотрим, что произошло в

Вы задаваетесь вопросом, как создать компонент в реагировании?

Чтобы ответить, так же просто, как создание функции, возвращающей HTML-подобный синтаксис.

import React from 'react';

function Counter({n}) {
  return (
    
{n}
); } export default Counter;

Теперь давайте посмотрим, что произошло в коде выше. Счетчик это функция, которая преобразует число в HTML. И если вы смотрите более тщательно, Счетчик это чистая функция. Это верно, такая функция, которая возвращает результат на основе его входов и не имеет побочных эффектов.

Это объяснение приходит с новым вопросом. Что такое побочный эффект?

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

Возможно, вы заметили, что я использовал Разрушение присвоения синтаксиса В списке параметров для извлечения n Номер ввода. Это потому, что компоненты принимают в качестве ввода одного объекта, называемого «опоры», который имеет все свойства, отправляемые им.

Вот как n Параметр может быть установлен из любого другого компонента:

В некотором смысле этот синтаксис можно представить как функция Call Счетчик ({n: 1}) . Разве это не правильно?

Давайте продолжим наше путешествие.

Могут ли функциональные компоненты иметь состояние? Как предположил имя компонента, я хочу хранить и изменить счетчик. Что, если мы просто объявим переменную, держа номер внутри компонента? Это будет работать?

Давайте разберемся.

Я начну с объявления переменной внутри функционального компонента.

import React from 'react';

function Counter() {
  let n = 0;
  return (
    
{n}
); } export default Counter;

Теперь давайте добавим функцию, которая увеличивает номер и входит в систему в консоли. Я буду использовать функцию в качестве обработчика события для события клики.

import React from 'react';

function Counter() {
  let n = 0;
  
  function increment(){
    n = n + 1;
    console.log(n)
  }
  
  return (
      
{n}
); } export default Counter;

Если мы посмотрим на консоль, мы видим, что число на самом деле увеличивается, но это не отражено на экране. Любые идеи?

Вы получили это правильно … Нам нужно изменить номер, но нам также нужно, чтобы повторно сделать его на экране.

Вот где функция утилиты из Реактивные крюки вступает в игру. Кстати, эти функции утилиты называются крючками, и они начинаются со словом «Использование». Мы собираемся использовать один из них, Уместите Отказ Я буду регистрировать также текст «Re-Render» на консоль, чтобы увидеть Сколько раз то Счетчик Функция на самом деле вызывается.

import React, { useState } from 'react';

function Counter() {
  const [n, setN] = useState(0);
  
  console.log('re-render');
  
  function increment(){
    setN(n + 1);
    console.log(n)
  }
  
  return (
    
{n}
); } export default Counter;

Давайте прочитаем, что Usestate () делает.

Что делает Уместите возвращение? Он возвращает пару значений: текущее состояние и функция, которая ее обновляет.

В нашем случае n Текущее состояние и setn () Это функция, которая ее обновляет. Вы проверили консоль, чтобы увидеть, сколько раз отображается текст «перезарядки»? Я оставлю это для вас, чтобы узнать.

Мы можем обновить состояние не только, установив новое значение, но и, предоставив функцию, которая возвращает новое значение.

В нашем случае функция, которая обеспечивает новое значение, будет называться увеличение () Отказ Как вы видите, увеличение () это чистая функция.

import React, { useState } from 'react';

function increment(n){
  return n + 1;
}

function Counter() {
  const [n, setN] = useState(0);
  
  return (
    
{n}
); } export default Counter;

Чтобы понять, что Setn (приращение) Давайте прочитаем документацию.

Прохождение функции обновления позволяет получить доступ к текущему состоянию внутри обновления.

Хорошо, так увеличение () вызывается с текущим n Состояние и он используется для вычисления новой стоимости государства.

Давайте суммируемся тем, что мы узнали.

В реакции мы можем просто определить компонент с использованием функции, которая возвращает HTML-подобный синтаксис.

Реактивные крючки позволяют нам определить состояние в такие функциональные компоненты.

И последнее, но не менее важно, мы наконец избавились от Это Псевдопараметр в компонентах. Может быть, вы заметили, что Это становится раздражает, меняя контекст, когда вы этого не ожидаете. Не волнуйтесь об этом. Мы не собираемся использовать Это в функциональных компонентах.

Если вы сделали это так далеко, вы также можете взглянуть на мои книги.

Откройте для себя функциональный JavaScript был назван одним из Лучшие функциональные программирования книги BookAuthority Действительно

Для получения дополнительной информации о применении методов функциональных программиров реагировать посмотреть на Функциональный реагировать Отказ

Учить Функциональный реагировать в проекте, основанном на проекте, с Функциональная архитектура с реагированием и redux Отказ

Tweet Me Ваш отзыв Отказ

Оригинал: “https://www.freecodecamp.org/news/a-few-questions-on-functional-components/”