Почему мы расширяем React.Component при создании компонента класса в React?

Я новичок в Реагировать, и я очень смущен и постоянно думаю об этом днем ​​и ночью, и почти все мои волосы упали и все еще падают, поэтому мы всегда класс расширяет React.Component при создании компонента с классом.

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

Я буду очень-очень благодарен человеку, который ответит на мой вопрос с примерами и легким подходом.

Это потому, что вы можете использовать метод React Component.

Bhojendra Rauniyar 01.10.2018 08:56

@Bhojendra Rauniyar - я не получил вашего комментария. Пожалуйста, отредактируйте

user9066923 01.10.2018 08:57

Внутри Component есть много хуков, таких как render, componentDidMount и т. д., И для их использования вы будете использовать компонент React.

Bhojendra Rauniyar 01.10.2018 08:58

Кажется, вам нужно изучить некоторые базовые вещи, например, что такое class и что такое inheritance.

Thomas 01.10.2018 09:01

@Thomas - Да, меня тоже смущает супер(), потому что я могу использовать, например, this.props.name, не вызывая супер(), тогда зачем использовать супер()?

user9066923 01.10.2018 09:08

То, что вы не знаете, не имеет ничего общего с реакцией, но это базовые вещи программирования, которые вам нужно изучить. Они даже не относятся к JS; Вы задаете вопрос, похожий на "что такое функция и почему я должен ее использовать" Sry, но мой лучший ответ: Вам нужно изучить некоторые основы. Узнайте, что такое классы и что такое наследование.

Thomas 01.10.2018 09:12
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
6
1 880
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

если вы расширяете класс React.Component, вы можете использовать жизненный цикл компонента, который можно использовать для монтирования и размонтирования.

Обратитесь к этому https://reactjs.org/docs/react-component.html

Ответ принят как подходящий

Компоненты React - это просто функции.

Например, вы можете визуализировать функциональный компонент react без импорта react, если вы не используете JSX.

Если вы хотите использовать JSX и записать свой HTML в файл js, вам необходимо импортировать react.

Если вы хотите написать компонент, который использует преимущества методов жизненного цикла, вам потребуется продлевать класс Component по умолчанию. Класс Component содержит методы жизненного цикла, и его не следует путать с другими общими компонентами react, такими как функциональные компоненты или любой компонент, который вы можете написать. Этот Component относится к реализации определенного класса, поддерживаемой react.

Расширение Component предоставит вам доступ к таким функциям, как componentDidMount, componentDidUpdate, componentWillUnmount и render.

Обычно для уровня представления вы будете использовать компонент без сохранения состояния. И вы будете использовать компонент с сохранением состояния (компонент на основе класса) для поведенческого уровня (компоненты контейнера). Компоненты контейнера могут содержать множество действий и допускают множество ловушек, которые вы хотите использовать. Например, render(), componentDidMount() и др.

Вы можете прочитать блог, написанный создателем React Дэном Абрамовым.

Далее вы можете прочитать шотландский блог.


Но прежде чем продолжить работу с React, я настоятельно рекомендую вам изучить возможности JavaScript и ES6 +. Есть много материалов для изучения. Но начиная с MDN будет хорошо.

Итак, это означает, что реакция предоставила множество способов создания и рендеринга компонентов, либо создание компонента с помощью функции, либо с помощью класса, либо с помощью других методов, верно? И все это обрабатывается, сериализуется и в конце попадает в DOM React? Верно ?

user9066923 01.10.2018 09:13

React использует свой собственный, который называется ReactDOM.

Bhojendra Rauniyar 01.10.2018 09:15

Итак, это означает, что реакция предоставила множество способов создания и рендеринга компонентов, либо создание компонента с помощью функции, либо с помощью класса, либо с помощью других методов, верно? И все это обрабатывается, сериализуется и в конце попадает в ReactDOM? Верно ?

user9066923 01.10.2018 09:21

Извините, я не совсем понял ваш вопрос. Но, взглянув на мой другой пост, я думаю, что ваш запрос должен удовлетворить ваш запрос: stackoverflow.com/questions/52460185/…

Bhojendra Rauniyar 01.10.2018 09:26

Другие вопросы по теме