Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stealthworm/03-dt-money
03-dt-money
https://github.com/stealthworm/03-dt-money
Last synced: 7 days ago
JSON representation
03-dt-money
- Host: GitHub
- URL: https://github.com/stealthworm/03-dt-money
- Owner: StealthWorm
- Created: 2023-08-24T23:03:13.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-09-03T10:57:15.000Z (about 1 year ago)
- Last Synced: 2024-04-15T06:24:30.113Z (7 months ago)
- Language: TypeScript
- Size: 373 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh## Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level `parserOptions` property like this:
```js
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
project: ['./tsconfig.json', './tsconfig.node.json'],
tsconfigRootDir: __dirname,
},
```- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list***npx json-server server.json -p 3333 (define port) -w (watch modifications) -d 500 (set delay to transactions)***
***npx eslint src --ext .tsx,.ts (para rodar o lint em arquivos com extensão especifica)*****Por que um componente renderiza?**
- Hooks changed(mudou estado, contexto, reducer);
- Props changed (mudou propriedades);
- Parent rerendered (componente pai renderizou);**Qual o fluxo de renderização?**
1. O react recria o HTML da interface do componente
2. Compara a versão HTML recriada com a versão anterior
3. SE mudou alguma coisa ,ele reescreve o HTML na tela**Memo: (só é recomendado em componentes com HTML muito pesado, pois senão acaba sendo muito custoso)**
0. Hooks changed, Props changed(deep comparison)
0.1. Comparar a versão anterior dos hooks e props
0.2 SE mudou algo, ele vai permitir a nova renderização.**o hook "useMemo()" funciona como o "memo", porem ao invés de memorizar componentes eles memoriza vaiáveis**
**0 hook "useCallback()" funciona para memorizar funções, evitando renderizações adicionais**