Компонент является одним из основных строительных блоков React. Другими словами, мы можем сказать, что каждое приложение, которое вы будете разрабатывать на React, будет состоять из частей, называемых компонентами. Компоненты значительно упрощают задачу создания пользовательского интерфейса.
«Компоненты позволяют разделить пользовательский интерфейс на независимые, многоразовые части и рассматривать каждую часть отдельно».
Здесь мы можем видеть пользовательский интерфейс, разбитый на несколько отдельных частей, называемых компонентами, и работать с ними независимо и объединять их все в родительский компонент, который станет вашим окончательным пользовательским интерфейсом.
Теперь давайте изучим различные типы компонентов, которые есть в React:
🦄 Глупые компоненты сосредотачиваются на том, как все выглядит.
Reactstrap, немые компоненты не требуют зависимостей.const DumbComponent = (props) => {
return (
<div>
<ul>
<li> Information - {props.title} </li>
</ul>
</div>
)
};
🤓 Умные компоненты сосредоточены на том, как все работает.
class SmartComponent extends Component {
constructor(props) {
super(props);
this.state = {
firstTimeLoading: true
}
}
render() {
return (
{this.state.firstTimeLoading
&& <Header title={this.props.title}/>}
{this.state.firstTimeLoading
|| <Header title="Welcome Again"/>}
);
}
}
class Welcome extends React.PureComponent {
render() {
return <h1>Welcome</h1>
}
}
const NewComponent = (BaseComponent) => {
// ... create new component from old one and update
return UpdatedComponent
}
higherOrderComponentфункция, которая принимает WrappedComponentв качестве аргумента вызываемый компонент . Мы создаем новый компонент с именем, HOCкоторый возвращает <WrappedComponent/>из своей renderфункции. Хотя на самом деле это не добавляет функциональности в тривиальный пример, он отображает общий шаблон, которому будет следовать каждая функция HOC. Мы можем вызвать HOC следующим образом:const SimpleHOC = higherOrderComponent(MyComponent);
import React from 'react';
var newData = {
data: 'Data from HOC...',
}
var MyHOC = ComposedComponent => class extends React.Component {
componentDidMount() {
this.setState({
data: newData.data
});
}
render() {
return <ComposedComponent {...this.props} {...this.state} />;
}
};
class MyComponent extends React.Component {
render() {
return (
<div>
<h1>{this.props.data}</h1>
</div>
)
}
}
export default MyHOC(MyComponent);
hoist-non-react-staticsпакет.Этот компонент довольно прост, но он доказывает свою точку зрения: React отвечает за контроль, когда и как его отображать на основе внутренней логики setStateметода. Нам не о чем больше беспокоиться.
Это рекомендуемый способ написания компонентов (будь то с использованием классов или функциональных компонентов, просто убедитесь, что они являются контролируемыми компонентами) в основном из-за всех преимуществ фреймворка применительно к ним. Вы получаете уровень абстракции поверх DOM, который позволяет вам реагировать и взаимодействовать с элементами, не беспокоясь о низкоуровневых методах DOM API.
Вышеупомянутый компонент делает то же самое, что и предыдущий пример, он обновляет содержимое pэлемента, пока вы, пользователь, вводите текст в inputполе. Ничего особенного, но вы можете видеть, как для достижения того же результата нам пришлось написать код, который напрямую обращается к API DOM (т.е. нам пришлось напрямую установить innerHTMLсвойство целевого элемента). Это может стать намного сложнее, если то, что вы пытаетесь сделать, требует большей логики, но вы поняли суть.
В большинстве случаев мы рекомендуем использовать контролируемые компоненты для реализации форм. В управляемом компоненте данные формы обрабатываются компонентом React. Альтернативой являются неконтролируемые компоненты, где данные формы обрабатываются самой DOM.
По сути, это зависит от вас и вашего варианта использования, например - вы можете использовать управляемый компонент при создании:
Вот и все!
Надеюсь, вы узнали что-то новое сегодня. Спасибо за прочтение! :)
Введение Инсульт — это неотложная медицинская помощь, которая может случиться с кем угодно в любое время. Это происходит, когда приток крови к части мозга нарушается, что приводит к внезапной потере функции мозга.
На этой неделе я получил электронное письмо от участника ежедневного списка рассылки. Они хотели знать: какие ресурсы вы посещаете ежедневно, еженедельно и ежемесячно? Отличный вопрос! Я рад поделиться некоторыми мыслями о моем рабочем процессе и основных ресурсах, которые я использую.
В современном взаимосвязанном мире угроза кибератак более распространена, чем когда-либо. Киберпреступники и государственные деятели постоянно стремятся использовать уязвимости и украсть ценные данные, подвергая организации любого размера значительному риску.
Переход к новой карьере может быть чрезвычайно сложным, если вы пытаетесь сделать это в одиночку. Важно найти партнеров по подотчетности, которые находятся на том же уровне обучения, что и вы, у которых схожие цели, упорство и стремление.
Вчера мы закрыли двери конкурса песни «Евровидение» в этом году блестящим, хаотичным грандиозным финалом, в котором шведская певица Лорин забрала домой трофей, став первой женщиной, выигравшей дважды, и вернув корону Швеции спустя 50 лет после того, как ABBA выиграла конкурс. с «Ватерлоо». Они стали одним из крупнейших исполнителей в каноне поп-музыки.
Привет, киберлюбители! Добро пожаловать обратно в серию OSINT по поиску угроз. В первой статье я рассказал вам об OSINT и его важности для поиска угроз.