Executando verificação de segurança...
2

Projeto Contador no React

Bom, a ideia é criar projetos básicos com diversos conceitos do mundo react e buscar aprimorar cada vez mais, estou disponibilzando esse projeto que fiz com react, é simples, mas aprendi muitos conceitos.
É um projeto simples, mas que aborda minhas stacks:

  • Vite
  • React
  • TypeScript
  • Zustand

No componente principal App.tsx temos:

import useCountStore from './store/useCountStore'
import './App.css

function App() {
  const count = useCountStore((state)=> state.count)
  const increment = useCountStore((state)=> state.increment)
  const decrement = useCountStore((state)=> state.decrement)

  return (
    <div className='card'>
      <h1>Contador</h1>
      <p>Contagem: <span className='count'>{count}</span></p>
      <div className='buttons'>
        <button onClick={increment}>Incrementar</button>
        <button onClick={decrement}>Decrementar</button>
      </div>
    </div>
  )
}

export default App`

No App.css

body {
  font-family: sans-serif;
  margin: 0;
  padding: 20px;
}

h1 {
  text-align: center;
}

p {
  text-align: center;
}

.counter {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  margin: 0 auto;
  border: 1px solid #ddd;
  padding: 20px;
}

.count {
  font-size: 24px;
  margin: 0 10px;
}

.buttons {
  display: flex;
  justify-content:center;
}

button {
  padding: 5px 10px;
  border: 1px solid #ddd;
  cursor: pointer;
}

button:hover {
  background-color: #ddd;
}

Na pasta Store/useCountStore.ts

import { create } from "zustand";

type CountStore = {
    count: number;
    increment: ()=>void;
    decrement: ()=>void;
}
const useCountStore = create<CountStore>((set)=>({
count: 0,
increment: ()=> set((state)=>({count:state.count+1})),
decrement: ()=> set((state)=>({count:state.count-1})),
}))

export default useCountStore

É necessário instalar o gerenciador de estados zustand: npm i zustand

img

Carregando publicação patrocinada...