Проверьте мои книги на Amazon в https://www.amazon.com/John-Au-Yeung/e/B08FT5NT62
Подписаться на мой список электронной почты сейчас http://jauyeung.net/subscribe/
React – популярная библиотека для создания веб-приложений и мобильных приложений.
В этой статье мы рассмотрим несколько советов для написания лучших приложений на реагирование.
Как пройти теги HTML в реквизитах
Есть несколько способов пройти теги HTML как реквизиты.
Одним из способов является прохождение выражений JSX как реквизиты.
Например, мы можем написать:
myProp={ Some String}
Мы также можем пройти в строке HTML:
myProp="This is some html"
Тогда мы можем сделать это как HTML, написав:
Мы устанавливаем DangeryNySetinnerhtml опоры для визуализации HTML AS – есть.
Он работает только с простым HTML, а не выражениями JSX, компонентами или другими вещами.
Мы также можем пройти в массиве элементов JSX:
myProp={["foo", Some other, "bar"]}
У нас есть как строки, так и HTML в нашем MyProp множество.
Затем мы можем сделать этот массив так, как мы хотим.
Кроме того, мы можем пройти в компонентах как дети другого компонента.
Например, мы можем написать:
Some contentSome content
У нас есть Foo составная часть Это обернуто около 2 девсов.
В Foo Мы можем оказывать компоненты внутри, ссылаясь на This.props.children Для компонентов класса.
И в функциональных компонентах мы получаем дети Собственность от параметра реквизита, который является первым.
Мы также можем использовать фрагмент:
This is an HTML string.} />
Тогда мы можем пройти несколько элементов без рендеринга обертки.
Реализировать аутентифицированные маршруты в React Router
Мы можем реализовать аутентифицированные маршруты с нашими собственными компонентами.
Например, мы можем написать:
const PrivateRoute = ({ component: Component, authed, ...rest }) => {
return (
authed
?
: }
/>
)
}
Мы создали наши собственные Приваря Компонент, который принимает компонент, который мы хотим защитить.
Мы переименованы в Компонент опоры Компонент Чтобы сделать его прописными буквами.
Затем мы видим компонент, если учетные данные аутентификации действительны.
В противном случае мы возвращаем Перенаправить Компонент для перенаправления на незащищенную страницу.
Тогда мы можем использовать его, написав:
Мы проходим в компоненте, который мы хотим в Приваря защитить его.
Rect.CloneElement против этого
Нам нужно использовать Rect.CloneElement Если нам нужно сделать все, кроме рендеринга компонентов детей.
Это потому, что this.prop.children это только дескриптор детей.
Например, если у нас есть следующее:
render() {
return(
First
Second
Third
)
}
Затем добавить к нему опоры, нам нужно написать:
render() {
return (
{React.Children.map(this.props.children, child => {
return React.cloneElement(child, {
onClick: this.props.onClick })
})}
)
}
Мы должны позвонить Rect.CloneElement сделать клону каждого ребенка, чтобы добавить OnClick обработчик для каждого дочернего компонента.
Протолкнуть в государственный массив
Мы можем внести в государственный массив, объединяя новых записей к нему.
Таким образом, мы не мутируем оригинальный массив.
Мы не хотим менять оригинал, так как он будет перезаписан на следующий рендер.
Например, мы можем написать:
const arr = this.state.myArray.concat('new');
this.setState({ myArray: arr })
Мы также можем использовать оператор по распространению:
this.setState({ myArray: [...this.state.myArray, 'new'] })
this.setState({ myArray: [...this.state.myArray, ...[1,2,3] ] })
Первый добавляет одну запись, как у нас выше.
2-й объединил 2-й массив первым и вернуть его.
Если нам нужно установить новое значение массива на основе значения текущего массива, мы можем позвонить SetState С обратным вызовом, который возвращает новый массив на основе предыдущего.
Например, мы можем написать:
this.setState(prevState => ({
myArray: [...prevState.myArray, "new"]
}))
Мы возвращаем состояние новым массивом.
Загрузить локальные изображения с реагированием
Мы можем загрузить локальные изображения, импортируя изображение в виде модуля.
Например, мы можем написать:
import React from 'react';
import logo from './logo.png';
function Header() {
return
;
}
Мы импортируем изображение в виде модуля, и мы помещаем его прямо в SRC пропры
Мы также можем сделать то же самое с требуется :
Вывод
Мы можем добавить изображения, импортируя их.
Есть несколько способов пройти HTML как реквизиты.
Rect.CloneElement требуется для добавления реквизит детей.
Существует несколько способов нажать новые данные в государственный массив.
Оригинал: “https://dev.to/aumayeung/react-tips-html-state-arrays-and-images-4jgk”