Вводящий
Fala Pessoal, Lám 2015 EU DEI Início E Nem Fiz DiraTo Ума Série De Posts Собрей реагирует. ОС São Super Acessados Até Hoje, Mas Já São Bem Defasados. COM ISSO, Gostaria de Voltar A Equrever Sobre O Assunto, Até Para Dar Uma Atualizada Nesse Conteúdo E Também Ajudar As Pessoas Que Estão Começando Estudar Por Agora.
Нет PAMEIRO POST Da Série Eu Falo Sobre Biblioteca E Seus Conceitos, Então Se Vocue Quister Ler Hoje, Ainda Vai Funciapar E SER EFICAZ. MAS ANTES DISOS, ACHO QUE É THEARIOS SABER ALGUNS PEQUENOS Conceitos Para Nao Se Perder Na Hora de Estudar o реагируйте EM SI.
O que ЕС Mais Vejo São Pessoas Com Difeuldades Não No React, Mas EM Coisas Básicas Como Sintaxe DO ES6, функции высокого порядка E Até Operadores Ternários. Esse Post Vai Ser Baseado Num Outro Post Em Inglês Que Também Fala Bastante Disco.
SE VOCê Já Trabalha Com React OU Já Sabe BEM AS NOVAS SINTAXES DE ES6 ASSIM COMO CONCEITOS Básicos de JavaScript, Esse Provivelmente Vai Ser Bem Chato E Repetitivo Para Ti, Então Se Não Quister Ler, Nao Tembea. SE VOCO AINDA NEM COMOS COM REACT E SONTE QUE AINDA FALTAM COISAS BáSICAS, DU UMA LIDINHA NESE.
Vários dos conceitos abordados e Concentomente Parte de ES6, EU TENHO UM Curso Sobre Isso NA UDEMY que talvez assa te interestar.
Enquanto Escrevo, Вау Овиндо Солнечные поля que ém dj sueco criador da trilha sonora de mirror’s Edge Catalyst e várias rutras coisas legais. Dessa VEZ, FOI UMA RECOMENDACHãoo Do Meu Amigo Джонас Мендес que também égroundador.
BOM, Vamos Lá, Vou Sealar OS Tópicos Aqui, Para Facilitar UM Puquinho:
- Primeiro Contato Com React
- Реагировать E классы Нет JavaScript
- Шаблонные литералы
- Функции стрелки
- Funções Como Compentes No React
- Sintaxe Do Class React Class
- Карта, уменьшить электронный фильтр Нет реакции
- Операдор Тернарио Нет реакции
- Importanto e exercilando не реагирует
- Funções De Ordem Superior
- Funções De Ordem выше не реагирует
- Разрушение электропередач
- Вывод
Primeiro Contato Com React
Intra No Mundo React, É BEM Provável Que iniCie o Projeto Utilizando O Create-raction-app Já Que Essa É UMA DAS Ferramentas Mais Conhecidas Para Quem Quem Quem Quem iniical Urs Projeto React Sem Muitas Difeuldades E Já Com Toda Uma Estrutura Protta. Isso Tudo Com O Supo Próprio Time Do Rect E Facebook. OU ENTãO VOCE PORE ACABAR Indo Para Alguns Tutoriais Na Internet Também.
Mas quando vovê vai vai vai os arquivos, é bem possível que de de Cara Comm Código Como:
import React, { Component } from 'react'
import logo from './logo.svg'
import './App.css'
class App extends Component {
render() {
return (
Edit src/App.js and save to reload.
Learn React
)
}
}
export default App
E logo de cara você Já vai ver um Компонент React Class У USO Seja, O Uso de Classes Doctro Do JavaScript. Hoje, Isso Já deve ser Нормальный PARA UMA Grande Parcela, MAS AINDA PORE RUSAR Difeuldades Para Alguns IniCiantes, JA Que o Uso de Classes Veio Somente Com O ES6. E o o uso de classes Traz Consigo Conceitos COMO: Difortições de Classe, Métodos de Classe E Herança. Doctro do React Não Somos Obrigados USAR Somente Classes, Mas EM ALGUM Momento Pove Pode Pode Precisar/Vai Ter Ter Que Intender Entender Conceitos.
Реагировать E классы Нет JavaScript
ANTES DO ES6, JA HAVIA UMA FORMA DE TRABALHAR COM HERANASAS E OBJETOS, UTILIZANDO OS Прототипы , Поскольку классы нет ES6 NADA Mais São Que um “Sugartax” Disso, ou seja, por debaixo dos panos também ésado o прототип.
Para entender melhor как классы, vamos usar sem o Реагирование нет Seguinte Código Abaixo:
class Developer {
constructor(firstname, lastname) {
this.firstname = firstname
this.lastname = lastname
}
getName() {
return `${this.firstname} ${this.lastname}`
}
}
const me = new Developer('Willian', 'Justen')
console.log(me.getName()) // "Willian Justen"
Клаз Разработчик Descreve UMA Entidade, Que É USADA COMO UMA “FORMA” (Pense Naquelas Formas de Biscoito Mesmo), Para Poder Criar instâncias Dessa Entidade, Comumente Chamamos Essas Instâncias de objetos Отказ Ou Seja, Partir de UMA CLASSE, Podemos Crar Vários objetos que ХЕРТАМ Propriedades E Métodos de Sua Classe.
Para Crar UMA Instância Baseada Na Classe, Nós Utilizamos Seguinte Sintaxe: Новый nome_da_classe (paramêtros_aqui) E Assinalamos Esse Valor UMA Variável, Que É O Caso da nossa variável я ацима.
CLASSE UMA CLASSE OU NãO КОНТЕРУКЦИЯ Им конструктор que ém método Искуплят Usado Para Direcire Certas Propriedades Que Esse Objeto Irásuir. Doctro DAS классы, Também PodeMos Crar Nossos Prósios Métodos, que São Chamados Diretamente, SEM Обязательный файл de Usar функция que é o caso do método getname Отказ
Instância da classe éfadada pelo objeto Это Doctro da Classe e Pela Sua Variável Assinalada Quando Fora Da Classe, Ou Seja, Para Automos Escopos, Nossa Instância Será Variável меня , MAS PARA MÉTODOS InternoS COMO O getname , Nós Utilizamos o Это Отказ
Как классы Нормаменционные Сан-Утилизадас Пара Трабалхар Com Herança Na Programação Orientada Objeto. E NO JavaScript Não Poderia Serferente, Para Crar Essa Essa Herança Entre Classes, Nós Usamos A Palavra расширяется Отказ Abaixo Segue Um Emplo Onde Criamos UMA Outra Classe ReactedEveloper que herda de Разработчик Отказ
class Developer {
constructor(firstname, lastname) {
this.firstname = firstname
this.lastname = lastname
}
getName() {
return `${this.firstname} ${this.lastname}`
}
}
class ReactDeveloper extends Developer {
getJob() {
return 'React Developer'
}
}
var me = new ReactDeveloper('Robin', 'Wieruch')
console.log(me.getName())
console.log(me.getJob())
Repare que além do novo método GetJob , Тамбем Эсивел USAR O Método getname Assim Como Suas Propriedades de имя е фамилия Отказ
E BOM, é Picientamente Isso que você Precisa Para Intender Como Funcionam OS Компоненты React Class Отказ UMA CLASSE JavaScript é USADA PARA DEFIR UM Componente React React, MAS ISSO Só ésisível, Pois Nós stestendemos/Herdamos Tudo de Компонент que faz parte do Pacote реагировать Отказ
import React, { Component } from 'react'
class App extends Component {
render() {
return (
Welcome to React
)
}
}
export default App
E é POR ISSO QUE O MÉTODO Визуализация () É Obrigatório Nos Компоненты React Class Pois Esse Método Que Vai Instruir O Browser de Que Algo é Preciso Ser Mostrado Na Tela. Mais Para Frente Vovê Vai Ver Que Os Métodos de Ciclo de Vida Реагировать ( Методы жизненного цикла ) Também São Só Disponíveis EM Компоненты React Class не новиссимо Реактивные крюки Отказ
BOM, Apesar de Estar Falando Bastante de Classes Aqui e Mostrando Que É Quase UMA Base Para Compents, O Mais Aconselhado é que voce estenda somente o Реагировать. Компонент E TRABALHE MAIS COM COMPOSICAO AO ANBREE DE HERANASA, Esseathe Inclusive UMA Parte Na Documentaçãofiacefial Falando Sobre Isso .
Шаблонные литералы
UMA OUTRA COISA SUPER STRPLE, MAS QUE AINDA CONFOUNDE MUITA GENTE SãOO OS Шаблон литералов, Que Ajudam Bastante Na Hora Da Concatenação de Strings. Agora Não Precisamos Mais Usar Aqueles Sinais de + Эм Миль Кантон PARA CONCATENAR AS COISAS, MAS SIM UTILIZAR ESSA ASCA INVERTIDA E ESCREVER AS Variáveis Nessa Notação $ {variável} Отказ Veja abaixo o Antes e Depois:
getName() {
return `${this.firstname} ${this.lastname}`;
}
// forma antiga
getName() {
return this.firstname + ' ' + this.lastname;
}
Функции стрелки
Outra Coisa Que Veio Com O ES6, MAS AINDA CASSA CONPUSãO PARA OS INICANTES SãO AS Функции стрелки. ISSO MUITO ACONTECE POIS TEM THEM TEM que As Chaves São Buildárias, Automos Momentos Que o возврат é nebsário e Vezes que Ambos Podem Ser Omitidos. Abaixo Seguem OS Exemplos:
// Função em ES5
function getGreeting() {
return 'Welcome to JavaScript'
}
// Função em ES6 com {} e por isso o return obrigatório
const getGreeting = () => {
return 'Welcome to JavaScript'
}
// Função em ES6 sem {} e return implícito
const getGreeting = () => 'Welcome to JavaScript'
SE VOCE TEM UM MÉTODO DE UMA LINHA SOó, AS CHAVES E O REBORE NAO SE FAZEM BEARRIOS, MAS SE OS MÉTODOS SãOO UM POUCO MAOIORES, ESCA EUSAUNDIDADE, É BOM NãO CONFUDIR. Já Tive Muito Aluno Travando POR ESQUECER DE COLOCAR O вернуть Mas Ter Adicionado как Chaves.
Funções Como Compentes No React
O React USA O Melehor Dos DifeRentes Paradigmas Da Programação. Нет Lado da Programação orientada objeto, ELE, правда криачано Компоненты React Class , Que Permitem Herdar Métodos Da API реагирует, Assim Como Propriedades, Como O Это Отказ
Полю outro lado, o React Também Toolsui Vários Conceitos de Programação Funcional POR TRAS. Permitindo Criação Dos Famesos составляющие без гражданства que São Funções Puras Que diflemente Compents реагируют.
ОС Компоненты без гражданства São Bem Mais Smips, São Passente Funções que Release Parâmetros, Que São Os реквизит E RENDERIZAM O ELEALION NA TLAA. ELES NãA MEXEM EM ESTADOS E NEM OUSUEM TODO O CORVUNTO DA API DO REACT. Mesmo Assim, Eles São A A Forma PuretiDa E Mais Perfortática de k Cril Completes EM реагируют. Abaixo Seguem Formas Possíveis De Se Crar Hum компонент без гражданства Отказ
// Função normal
function Greeting(props) {
return {props.greeting}
}
// Arrow Function com {} e return
const Greeting = props => {
return {props.greeting}
}
// Arrow Function sem {} e return implícito
const Greeting = props => {props.greeting}
Sintaxe Do Class React Class
Как формам de diforiar компоненты без реагирования Estão Semper Evoluindo. Нет início Era Possível ver o uso do método Ract.createClass , Mas Com a Chegada do ES6, Passamos a ver Mais o Uso Como Mostrado Acima, Estendendo Компонент DO PACOTE DO реагировать Отказ
E Exatamente Por Essa Constante Evolução, és quevel que você veja diferentes formas de se fazer a mesma coisa. UMA DAS Formas de Trabalhar Com Estados ( States ) e Métodos ésime:
class Counter extends Component {
constructor(props) {
super(props)
this.state = {
counter: 0
}
this.onIncrement = this.onIncrement.bind(this)
this.onDecrement = this.onDecrement.bind(this)
}
onIncrement() {
this.setState(state => ({ counter: state.counter + 1 }))
}
onDecrement() {
this.setState(state => ({ counter: state.counter - 1 }))
}
render() {
return (
{this.state.counter}
)
}
}
Onde Fazíamos o Bind Do Objeto Nos Métodos Doctro Do Construtor, Para Assim Poder Utilizá-Los COM States E Ações No Nosso Шаблон. MAS COM O PASSAR DO TEMPO, ESSE TRANSEO DE FAZER Bind Acabava Sendo Repetitivo E Chato. Para Evitar Isso, PodeMos Utilizar As Arrow Функции, Que Já fazem o Autobind SEM Обучение DE FAZê-LOS NO CONTROUTER. Aliás, Caso Não Estejamos Passando Nenhum реквизит Подемос включает в себя omitir o Uso do Construster. Фикандо Ассим:
class Counter extends Component {
state = {
counter: 0
}
onIncrement = () => {
this.setState(state => ({ counter: state.counter + 1 }))
}
onDecrement = () => {
this.setState(state => ({ counter: state.counter - 1 }))
}
render() {
return (
{this.state.counter}
)
}
}
Карта, уменьшить электронный фильтр Нет реакции
No React Não Existem Métodos OU Qualquer Coisa Que Seja Para Trabalhar Com, objetos. TUDO QUE VOCO USA E Precisa, É O Amado JavaScript. Com Isso, Alguns Métodos Como карта , Уменьшить е Фильтр Passam Ser OS Queridinhos Para Quem Trabalha Com React, Mas Por Qeê?
Smarps, Eles São Métodos Puros, que Release UM Valor E Retornam Outro Da Forma Desejada, Trabalhando Da Forma Funcal Que o Реагировать танто Госта. ELES Facilitam Bastante Para Rectornar Pients Da Forma Desejada ( Карта ), Filtrar Informações Baseadas EM Algum Parâmetro Desejado ( Фильтр ) ou até mesmo realizar operações em cima de um convunto de Valores Para Retornar Somente Um Já Trabalhado ( Уменьшить ).
UM Exemplo COM O карта PARA RENDERIZAR UMA LISTA DE TILES SERIA:
import React, { Component } from 'react'
class App extends Component {
render() {
var users = [{ name: 'Robin' }, { name: 'Markus' }]
return (
-
{users.map(function (user) {
return
- {user.name} })}
PARA DEICAR AINDA MAIS LIMPO, PodeMos Fazer o Uso Da arrow Функция E Mesma Coisa EM Somente UMA Linha:
import React, { Component } from 'react'
class App extends Component {
render() {
var users = [{ name: 'Robin' }, { name: 'Markus' }]
return (
-
{users.map(user => (
- {user.name} ))}
E, COMO Disse Insenmente, Não Só o карта Ajuda, Mas Funções Como O Фильтр Também São Geniais, Como Нет Exemplo Abaixo:
import React, { Component } from 'react'
class App extends Component {
render() {
var users = [
{ name: 'Robin', isDeveloper: true },
{ name: 'Markus', isDeveloper: false }
]
return (
-
{users
.filter(user => user.isDeveloper)
.map(user => (
- {user.name} ))}
SE VOCO QUISER LER MAIS SOBRE OS MÉTODOS, SEGE AQUI AQUI AQUE DOCUCEAMACãA:
Операдор Тернарио Нет реакции
Нет jsx não éslivel utilizar o famoso Если-ж Диретате, MAS PORE PORE CRAR UMA Condicense Antes E Parar Renderização Usanso UM Return Vazio. Desta Forma, O Rect Não Irá Mastrar Nada Em Tela.
import React, { Component } from 'react'
class App extends Component {
render() {
const users = [{ name: 'Robin' }, { name: 'Markus' }]
const showUsers = false
if (!showUsers) {
return null
}
return (
-
{users.map(user => (
- {user.name} ))}
Entretanto, SE VOCê Quire Usar A Lógica de If-else Doctro Do JSX, PORE UTILIZAR OS Operadores Ternários Да, Д.А. Сейнт Форма:
import React, { Component } from 'react'
class App extends Component {
render() {
const users = [{ name: 'Robin' }, { name: 'Markus' }]
const showUsers = false
return (
{showUsers ? (
{users.map(user => (
- {user.name}
))}
) : null}
)
}
}
export default App
Outra Forma de Fazer, SO RETORNANDO UM DOS LADOS DA CHANDICALION, ESANDO O OPERADOR && Да, Д.А. Сейнт Форма:
import React, { Component } from 'react'
class App extends Component {
render() {
const users = [{ name: 'Robin' }, { name: 'Markus' }]
const showUsers = false
return (
{showUsers && (
{users.map(user => (
- {user.name}
))}
)}
)
}
}
export default App
Repare que caso o Showersers Seja Falso, Nada Irá Aparecer, NãO Precisando Escrever O : null Feito Insormente.
Importanto e exercilando не реагирует
Tá Aí Uma Coisa Que Confunde Muita Gente. COMO DEVO Importar/Exportar As CoiSAS? Тем Хорас Квер Тем Умасские Чавес, Autras Horas Não Tem, O Queital Citce?
Cateçaremos Фалар Пелос Экспорт Que Já irão explicaar ОС Импорт Диретате. Nós Possuímos 2 Tipos de Экспорт Que São:
названный экспорт: que São Utilizados Para Exportar Diversoss Métodos/Valores de Doctro dum Mesmo Arquivo.
const firstname = 'Robin'
const lastname = 'Wieruch'
export { firstname, lastname }
REPARE Que Temos 2 Variáveis E Как Duas Variáveis Estão Sendo ExportaDas SetaDamente. Na Hora de Importar rsses Валорес, Nós Só PodeMos Utilizar o Mesmo Nome Que Fora ExartaDo Ou Então Utilizar UM Plias. ESitem 3 Formas de se inmortar названный экспорт Отказ
// Importando diretamente valor a valor, para isso é necessário o uso de chaves
import { firstname, lastname } from './file1.js'
console.log(firstname) // "Robin"
// Importando todos os valores e atribuindo a um objeto
import * as person from './file1.js'
console.log(person.firstname) // "Robin"
// Importando somente um valor, mas atribuindo um alias para o valor
import { firstname as username } from './file1.js'
console.log(username) // "Robin"
CADA UMA DAS FORMAS DE Importar Tem Suas Vantagens.
- Importar Em Objeto Inteiro Facilita Para Identialian de Forma Rápida de onde Está Vindo.
- O uso сделать псевдоним Убедительный Immortar UM Método Com Outro Nome Para Evitar Que Algum Conflito Toxa Acontecer Com Outro Método de Mesmo Nome.
- Importar Valor A Valor Premate Que Não Importemos Coisas Que Não Iremos Utilizar Naquele Mommento.
Outra Forma de Exportar Métodos é o Экспорт по умолчанию , Onde Exportamos Somente Um único valor por arquivo. É o caso do nosso Приложение Que Masteramos EM Alguns Exemplos Com React Acima. Nesse Caso, Na Hora de Importar, Nao Precisa обязательство Возможна Omsuir O Mesmo Nome, Exemplo:
const robin = {
firstname: 'Robin',
lastname: 'Wieruch'
}
export default robin
E Na Hora de Importar, Podemos Utilizar Um Nome Qualkquer Que Não Робин :
import developer from './file1.js'
console.log(developer)
// output: { firstname: 'Robin', lastname: 'Wieruch' }
Funções De Ordem Superior
Как Funções de rardem Superior (функции с высоким порядком) São UM Grande Conceito Na Programação, к какомурированию quando se está indo ido para o lado funcional. No React, FAZ Total SentiDo Saber Sobre Esse Tipo de Funções, Pois Em Algum Momento Vovê Terá Que Trabalhar COM Компонент с высоким порядком (HOC) E Será Muito Mais Fácil de entender se você Souber Sobre как функции высокого порядка Playiro.
Talvez Vovê Não Saiba, Mas Nós Já Falamos Sobre Hof Há Pouco Tempo Ainda Nesse Post! Isso Mesmo, O карта () ém empemplo de uma hof, que nada mais é que UMA Função que aceita UMA OU MAIS FUNCHõES COMO ARDUCTO.
Вамос Дар Ума Ольхада Нет карты Novamente:
const collection = ['Willian', 'Jonas', 'Marcio']
// Usando Função ES5
collection.map(function (person) {
return `${person} Developer`
// Output: ["Willian Developer", "Jonas Developer", "Marcio Developer"]
})
// Usando Arrow Function com {} e return
collection.map(person => {
return `${person} Developer`
// Output: ["Willian Developer", "Jonas Developer", "Marcio Developer"]
})
// Usando Arrow Function e return implícito
collection.map(person => `${person} Developer`)
// Output: ["Willian Developer", "Jonas Developer", "Marcio Developer"]
Refare que nós temos uma função que é o карта E ELA COMO Parâmetro UMA Outra Função, É ESTA Função Usada de Parâmetro Que Irá Trabalhar EM CIMA DOS DADOS. Esse Tipo de Conceito NOS Purribe Anstrair Melhor As Ações, Fazendo Com Que Elas Sejam deventas Formas, включительно UMA Função Пока Servir Para Criar Outra Função Maior ou até mesmo crar recursões.
Para entender ainda melhor desse conceito, Aconselho Dar Uma Lida Nesse Capítulo Do Eloquente JavaScript que mastera vários exemplos bem interesentes.
Funções De Ordem выше не реагирует
COMO FALADO ANTES, NO RACT Nós PodeMos Кребер COMBER COM Funções Smarts, ОС Чамадо Компоненты без гражданства Отказ Então um Компонент высокого порядка Нада Маис é que um Componente que aceita rum outro Componente COMO ArgugeO E Retorna UM Componente Отказ
UM Exemplo, Poke Wode Crar Hoc Que Deixa Tudo Que é Passado Em Maiúsculo.
const yell = (PassedComponent) =>
({ children, ...props }) =>
{children.toUpperCase()}!
const Title = (props) => {props.children}
const AngryTitle = yell(Title)
Whatever
// Output: WHATEVER!
Alguns detaches como дети е реквизит Али Сан действительно реагирует, Então Não Vamos Falar Muito Sobre Eles. Mas Enenta Que o дети Será o Conteúdo Passado Doctro de um Componente, que no nosso caso é é deampo Все, что Отказ О. О. реквизит ém icometo smpse que São Passados Através de Atributos Para o Componente.
Temos Ali Um Método Chamado yell Que Ceybe Bom Componente E UTILIZA O Mesmo Para Engapsaular O Conteúdo, Somente Alterando O Valor Passado Do Para FiCar Em Maiúsculo.
Temos Também o Componente Название que recebe ram atributo e o exime na tela entre De Forma Bem Smples.
E O Componente Que Faz Essa Conexão Toda, Que é o Агретитель que é ответственность o Методо yell E Doctro Dele Passa o Componente Название Отказ
Dessa Forma, строка Все, что é passada para a gunção acima que transforma Essa string em maiúscula e encapsula без компонента Название Que Por Sua Vez Imprime O Na Tela. что угодно!
Isso Poore Pareer Meio “Inútil” E Embolado, Mas Facilita E Muito Em Abrações Maiores. UM Grande Exemplo Que Usa Hoc é o Redux, que us соединить Para Passar Valores Da хранить компоненты PARA OS.
Outra Coisa útil Eque Extraindo Funções EM Высококачественные функции Para Fora Pare PORE PORE PORE PORE React Pode Autubliar Para Testar EstaDos EM IsolyAdayo Também. UM Exemplo Abaixo:
export const doIncrement = state => ({ counter: state.counter + 1 })
export const doDecrement = state => ({ counter: state.counter - 1 })
class Counter extends Component {
state = {
counter: 0
}
onIncrement = () => {
this.setState(doIncrement)
}
onDecrement = () => {
this.setState(doDecrement)
}
render() {
return (
{this.state.counter}
)
}
}
Repare Que Temos OS Métodos Doincrement е додеренение FORA DO Componente E ExportaDos. Assim Nós Conseguimos Testar OS Métodos de Forma Isolada E Организада.
Разрушение электропередач
UM POUCO ACIMA TINHA UM TAL DE ... реквизит Que é Usado Para Caramba No React, E Mais UMA DAS MARAVILHAS QUE VIERAM COM O ES6. É muito comum se querer acessar várias propriedades de um Государство Вы делаете реквизит Составляйте Componente, AO Invés de Assinalar Variáveis UM AM, PodeMos Usar o Разрушительную пункт Para Isso.
// sem destructuring
const users = this.state.users
const counter = this.state.counter
// com destructuring
const { users, counter } = this.state
Ali Já Teremos As Variáveis Пользователи е Счетчики Криадас, SEM Precisar Fazer UMA UMA. ESSO Esperialmente Benéfico Quando Trabalhamos COM Компоненты без гражданства Pois IremoS SEMPER CENTER O OBJETO реквизит Е.М. Носса Фунсио. Assim poderemos jámar o conteúdo diretamente de реквизит AO Invés de o objeto todo.
// sem destructuring
function Greeting(props) {
return {props.greeting}
}
// com destructuring
function Greeting({ greeting }) {
return {greeting}
}
E Quanto Aos Pontinhos? BOM, ESSE É O Распространение оператора , ELE Premate Sealar Partes de um objeto, Tendo Propriedades Essicificas Selectas E O Resto Num Objeto.
const { users, ...rest } = this.state
Али Nós Teremos A Propriedade Пользователи SETADA E O RESTO FICARá Нет objeto остальное . Нет NOSSO Exemplo Acima, Nós Queríamos o Valor de дети SOLADO E PARA NãO PERDER NENHUMA OUTRA PROPREDADE, Nós Mantivemos o Resto do objeto реквизит , Усандо О распространить оператор.
Вывод
BOM GALERA, SEI QUE O POST FICOU Grandinho, Mas Espero Que Tenha Sido útil Para vocês. MUITAS PESSOAS DIZEM QUE RACT TEM UMA Curva de Arrendizado Muito Grande E É Difícil, Mas Na Maioria Das Vezes, NãO É O React Em Si, Mas Algumas CoiSas Básicas da linguagem.
SE VOCO ACHA QUE FALTOU ALGUM HETALHE OU TEM ARTRARS REALêNCIAS LEGAIS, BOTA A NOS Comentários! =)
Оригинал: “https://dev.to/willianjusten/fundamentos-javascript-antes-de-aprender-react-icl”