React - Cheat Sheet
React - Cheat Sheet
E
}
<h1>Bem-vindo ao meu app</h1>
no seu hook de useEffect
<button onClick={() => clickHandler('Olá mundo')}>Diga olá</button>
Change Age
const UseRefBasics = () => {
(O guia 2ality éútil. Se você é um iniciante absoluto no import { Greeting } from './Gretting' name: 'Pedro’,
</>
const refContainer = useRef(null)
REACT
</>
(src/App.js)
age: 30,
)
useEffect(() => {
const handleSubmit = (e) => {
};
Com importe de arquivo CSS } } const timer = window.setInterval(() => {
e.preventDefault()
3. Ter lido a seção TypeScript nos Convenção de Nomeação BEM setCount(count => count + 1)
console.log(refContainer.current.value)
e para acessar os argumentos do event de um handler Criando um novo state usando callback como valor }, 1000)
}
import './App.css'
// essa função será executada no unmount
<div className="app">
Cheat sheet
4. Ter lido a seção React do novo <h1 className="app_title">Bem-vindo ao meu app: {appTitle}</h1>
function App(){
const clickHandler = (ev) => console.log(ev.target)
function Counter() {
}, []) refContainer.current.focus()
playground TypeScript
<div className="product">
return <h1>Olá mundo</h1>
const Person = ({ name = ’Pedro’, age = 30 }) => {
const [count, setCount] = useState(0)
}, [])
<p className="product__description">
<>
const decrease = () => setCount((oldState) => oldState - 1)
</p>
Lista <button onClick={clickHandler}>Diga olá</button>
return (
Renderização Condicional
<div>
</div>;
function App(){
}
return <h1 style={{ color: 'red' }}>Hello World</h1>
const people = [
</>
<>
<h1>Counter</h1>
<button type="submit">Submit</button>
} <p>{count}</p>
</>
function DisplayGreeting() {
</div>
um componente filho )
cd my-app-name
return <h1>Olá admin {name}</h1>
yarn start
function App(){
}
// http://localhost:3000
//
return <h1>Olá mundo</h1><h2>Oi!</h2>
return (
}
)
return (
<div>
useEffect return <h1>Olá usuário {name}</h1>
Portais
{item}
}
<>
Inline If-Else
// (usando fragment)
<button onClick={() => onDelete(item)}>delete</button>
<h1>Olá {name}</h1>
m React, você pode querer executar o código após eventos do ciclo
return (
</div>
E
Usando ReactDOM.createPortal:
<p>{name === 'Pedro' ? '(admin)': '(user)'}</p>
de vida ou efeitos colaterais.
<>
);
return (
<h2>Oi!</h2>
</>
</>
from ’react’” para usar o Pragm // Importante colocar o parênteses no retorno da função const newTodos = todos.filter((item) => item !== todo);
a atualização do componente ocorrer } const Modal = () => {
function App() {
useEffect(() => {
Deve ter primeira letra maiúscula Passando propriedades para componentes return people.map(person => (
setTodos(() => newTodos);
Use className em
vez de classe também, todos os <Person key={person.id} name={person.name} age={person.age}/>
import React, { useEffect } from 'react';
modalRoot.appendChild(el);
Inline Logical && Operator.
function ChangeTitle() {
E }, []);
}
const [value, setValue] = useState(0)
};
// React componente
//
function App(){
const Person = (props) => {
useEffect(() => {
function DisplayUserInfo({active}) {
return (
return (
<div class="title">
<div>
Olá mundo
{active && <h1>User is active</h1>}
ocê pode passar um objeto inteiro via destructuring para um
</div>
V
</div>
propriedades de componente O objetivo do useState é lidar com dados reativos, qualquer dado }
return <h1>Name: {name} Age: {age}</h1>
return (
muda, você quer reagir para atualizar a interface do usuário.
ocê pode usar uma condicional para efetuar alguma ação dentro do
arquivo há instruções para renderizar o componente
Component Children's }
Algumas convenç e õ
V
callback do useEffect <span className={count === 0 && 'text-gray-500' || count > 0 &&
function App()
const Person = ({ name, age }) => {
ReactDOM.render(<App />, document.getElementById('root')) Feche cada elemento return <h1>Name: {name}, Age: {age}</h1>
Deve ser invocado apenas em um componente/função React
return (
useEffect(() => {
Formulários
return (
Olá, essa é uma mensagem de boas vindas
A declaração não pode ser chamada condicionalmente
document.title = `New value: ${value}`
do public/index.html na div#root }
const UserForm = () => {
Componente de importação
const handleClick = () => alert('Olá mundo')
function App(){
return (
return <>
)
<h2>{title}</h2>
console.log(userName);
</>
</button>
function Greeting(){
// or props object deconstructing
useEffect será executado somente se o valor que estiver na lista de
O return (
)
</>
}
}
const Message = () => {
return (
};
<form onSubmit={handleSubmit}>
na renderização inicial(onMount)
export default Greeting return <h1>Olá</h1>
<h1>Name: {name} Age: {age}</h1>
<input
}
<p>{children}</p>
ou inline... export default DisplayTitle; value={userName}
)
useEffect(() => {
onChange={(e) => setUserName(e.target.value)}
Este componente pode então ser importado document.title = `New value: ${value}`
type="text"
// Function component
} function App(){
<>
<h1>Bem-vindo ao meu app</h1>
/>
function App(){
<Message />
<button onClick={() => alert('Olá mundo')}>Diga olá</button>
useEffect(() => {
<button type="submit">Submit</button>
} </>
)
}, [value])
</>
)
} // Será executado cada vez que o valor 'value' mudar. );
} };