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

React Tips – HTML, штатные массивы и изображения

Проверьте мои книги на Amazon в https://www.amazon.com/john-au-uyeung/e/b08ft5nt62 Подписаться на мой … Теги от реагирования, WebDev, программирования, JavaScript.

Проверьте мои книги на 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 content
Some 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 Logo;
}

Мы импортируем изображение в виде модуля, и мы помещаем его прямо в SRC пропры

Мы также можем сделать то же самое с требуется :


Вывод

Мы можем добавить изображения, импортируя их.

Есть несколько способов пройти HTML как реквизиты.

Rect.CloneElement требуется для добавления реквизит детей.

Существует несколько способов нажать новые данные в государственный массив.

Оригинал: “https://dev.to/aumayeung/react-tips-html-state-arrays-and-images-4jgk”