Basico Flashcards
operador ternario no jsx
<h1> { x == 1? ( <p>caiu no if</p> ): ( <p>caiu no else</p> )} <h1>
props
permite passar dados do componente pai para o filho.
Ficam disponivel no componente filho a partir do objeto prop.nomeDoCampo
passando props para o componente
<Componente nomeDaProps="valorDaProps" />
recebendo a props no componente
const NomeComponente = (props) =>{ return ( <h1>{props.nomeDaProps?</h1> ) } export default NomeComponente;
maneira moderna de receber um props no componente, fazendo destructing
cont NomeComponente = ({nomeDaProps1,nomeDaProps2}) =>{ return ( <h1>{nomeDaProps1}</h1> <h1>{nomeDaProps2}</h1> ) } export default NomeComponente;
Loop em listas no jsx
~~~
usa-se o maps.
listaArray.maps(x =>(//como vou imprimir jsx aqui precisa ser parentesis
<componentes nome={x.nome} />
))
```
fragments
Interessantes quando precisamos ter mais de um elemento pai; Ele é uma tag vazia <></>
Enviando o Children Prop
Recurso utilizado para qundo um componente precisar ter JSX dentro dele; <componente> <h1>Children Prop</h1> </componente>
Recendo o Children Prop
const NomeComponente = ({children}) =>{ return ( {children} ) }
Enviar funções como props
<Componente nomeFuncao={funcao} />
receber funcao como props e executar
const Componente = ({funcao}) =>{ return ( <button onClick={funcao} >Clique</button> ) }
Elevacao de state ou State lift
Enviar dados do filho para o pai através de uma função passada como props para o filho. E essa funcao no filho recebe um valor e altera o estado de alguma variavel do componenente pai
Hooks
funcoes do react que dão acessos ao estado da aplicação e outros dispositivos do react. Começam com "use" exemplo: useState(), utilizado para criar estados
Hooks
Os Hooks são mais restritivos do que outras funções. Você só pode chamar Hooks no topo de seus componentes
hook useState
gerenciamento de estado da aplicacao
hook useState
const [nome,setNome] = useState("Herlessi"); setNome("Herlessi Nogueira"); console.log(nome);//imprime herlessi nogueira
previous State
estaudar mais sobre isso
css de componente
não é scoped, ou seja, ele vaza para outros componentes, o ideal é criar classes de css com o nome do componente como prefixo
css de componente
Por padrão criamos um arquivo .css como o mesmo nome do componente e o importamos no componente
css inline por meio de um objeto
<div style={{color:red,background-color:blue}}>texto</div>
css inline dinamico
~~~
<div style={n>1?{color:red}:{color:blue}}}>texto</div>```
classes de css dinamicas
<div className={n>1?"classe1":"classe2"}>texto</div>
Css Modules (Css Scoped)
Nome do arquivo .css deve ser NomeComponente.module.css
Para usar o css modules(CSS Scoped)
importa-se como objeto e aplica-se como objeto; import Style from './componente.module.css' <div className={Style.nomeClasse}>texto</div> ele gera um id maluco para a classe, para ser unico
Hook useState()
Usamos para gerenciar estado da aplicação para facilitar a comunicação entre componentes pai e filho, filho e pai e entre irmãos
Hook useState
Importamos do react com destructing. Import {useState} from React. Let [nome, setNome] =useState("tim")
Hook useEffect(()=>{}, [])
Usamos para controlar os side effect, efeitos colaterais.
Em outras palavras, usamos para garantir a redenrização inicial da página como tbm controlar a atualização de página bloqueando e liberando a redenrizacao da página de acordo com o segundo parâmetro passado
Hooks
São utilizados somente em componente funcionais.
Não funcionam em componentes de classes
Hook
Em inglês quer dizer gancho, anzol, na programação são trechos de códigos incorporados
Principais hooks
UseState, useEffect e useContext
Estado em componente de classe
Se usa o objeto state. State={nome:tim} E para alterar setState({nome:Nogueira})
Imagens publicas
basta colocar a imagem na pasta public e ser adicionada na tag <img src='/nomeImagem.jpg' />
Imagens em assets
Diferente das imagens publicas, colocamos na pasta assets e precisamos importar a imagem como se fosse um componente import nomeImg from './assets/nomeIms.jpg'; <img src={nomeImg} />
Componente Padrão
import './comp.css' const comp = () =>{ return ( <h1>Titulo</h1> ) } export default comp;