---
# System prepended metadata

title: Resumo playlist reactjs

---

# Resumo playlist reactjs

**NOME** KEVIN RIBEIRO DE ANDRADE
**NUMERO** 27
**TURMA** INFOA


## TEXT RESUMO 
criando projeto de react- baixar o visual code, instalar o nodejs, instalar o npx no seu terminal, escolher uma pasta onde ficara seus projetos. instalar as seguintes extensões: vscode styled-components e prettie.

comandos: npm create-react-app(cria seu projeto em react)
         npm start- mostra como está o resultado do projeto no navegador padrão.

vc fará um open folder na pasta que vscode abriu.

todo html fica apenas em uma index.html dentro da pasta public. a linguagem usada no react é js e jsx(jsx é como um html só que mais  rigoroso).

nos codigos html vc tem que colocar clasName ao invés de class.
pra usar o style nas divs tem que colocar como se fosse json. todas as tags tem que ser fechadas.
a gente não o link pra buscar arquivos, transformamos os codigos em funções e exportamos e importamos.
pra colocar uma variavel do jsx dentro de uma tag é necessario que a coloque como chave.


o component pode guardar informações dentro dele, os components tem estado e os components podem mudar de estado. elas muudam de estado quando vc altera o codigo delas
 
é interessante colocar a pasta assets e pages na pasta public(vc pode criar uma dentro do source e uma dentro da public). dentro da src tbm deve ser criada uma pasta chamada components.

pra usar rotas no seu site para navegar entre uma pagina ou outra é necessario dar npm i react-router-dom no seu terminal. depois vc importa: import { BrowserRouter, Switch, Route } from 'react-router-dom';
então vc usa as tags: ReactDOM.render(
  <React.StrictMode>
    <BrowserRouter>
     <Switch>
       <Route path="/" exact={true} component={Home}/>
       <Route path="/contatos" component={Contato}/>
     </Switch>
    </BrowserRouter>
  </React.StrictMode>,
  document.getElementById('root')
);

isso de home e contatos variam de acordo com o seu site.

para usar o link das rotas: import { Link } from "react-router-dom";
codigo:  <Link style={{color: "black"}}
            to = "/"> volte para a pagina inicial.</Link>
        


                          

na pasta public é onde fica tudo que será acesivel pra o site, e na SRC o cdg fonte.



há duas dormas de usar css pra estilizar o site, importando o arquvo css ou instalando e usando styled-components.
no  import da imagem no bacjkgriund-image pode dar problema caso esteja com a imagem na pasta SRC.
não se pode colocar o msm nome de classe de css no react pq se não as duas vão interferir uma na outra.


no styled components vc coloca o css dentro de uma variavel, e exporta ela assim ela será como uma tag que terá varias estilizações e ele pode ser reutilizavel.




                                                      RENDERIZAÇAO

estatica- o componeete não  irá exibir nada além doq esta lá.
renderização por variavel = chama uma variavwel dentro de uma função.
renderização por componente - importa o componente e o exib dentro de outro.
renderização condicional - renderiza através de valores bool e operadores logicos.
renderização por repetição = usar array para exibuição.




                                                       VARIAVEL DE ESTADO

muda o seu valor constantemente, para exibir datas é  necessario uma conversão para string.





                                                      props


props são uma forma de comunicação entre componentes, eles são colocados como parametro na função.

o mapeamento no react é frito por referÊncia.




                                                   	eventos


são funções que são executadas ao atingirem x condições.


                                                        paramrtro entre paginas


          
Você pode criar uma variavel que controlará a navegação do seu site, usando useHistory(). vc pode coloacar essa variavel dentro de um button, vc pode enviar informções junto com essse button e recebelo através de um props em um outro componenete.
também é possivel fazer isso via TAG link.



                                                         props em styled components


Dentro das crases da variavel sstyled vc usará o props em algum  lugar lá dentro e assim poderá adicionar no seu componente.


## JSX
```jsx=
import { useState } from "react";
import { Link } from "react-router-dom";
import Contato from "../contact";


function Home() {

    let mCon = false;

    if (mCon === true)
     return <Contato />

     let tet = ["oiio", "hdsijhakl", "hahfdklahf", "kahsjdklsahjjkld"];
     
     const [br, setBr] = useState(1)

    return (
        <div>
            <h1>bolololo</h1>
            <Link to = "/contacts">vajaskdjakl</Link>

            {tet.map(item => <div> {item} </div>)}

            <div>{br}</div>
        </div>
    )
}

export default Hom

import { Link } from "react-router-dom";



function Notfound () {
    return (

        <div>
            <div>
                <h1>Qual foi amigão? tá tentando entrar onde fdp?kkkkkkk </h1>
            </div>
            <div>
                <img style={{height: "100vh", width: "100%"}} 
                src= "/assets/images/Ending-Aho-Girl.png" />
            </div>
            <Link style={{color: "black"}}
            to = "/"> volte para a pagina inicial.</Link>
        </div>
    
    )
}

export default Notfound;


import { useState } from 'react';
import './App.css';


import  Count from './Counter';
import Contato from './pages/contact';

function App() {
  const [counter, setcounter] = useState(0);

  const incrementar = ( ) => setcounter(counter + 1);
  const reset = () => setcounter(0);

 

  return (


    <div className="App">
      <Count value={counter}
      onreset = {reset}/>
     <button onClick={incrementar}> oiiiiiii</button>
    </div>
  )
}

export default App;
import "./index.css";



function Contato () {
    return (
        <div className="b">
            <button> Entre em contato conosco, fdp </button>
            <h2>asjsfdjhalfhaslkjh</h2>
        </div>
    )
}

export default Contato;

function Count (props) {
    const reset = props.onreset;

    return (
        <div style={{cursor: "pointer"}}
             onClick={reset} >       
        {props.value} 
      </div>
    )
}

export default  Count;
```