Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasspeixoto/signals-crud-example
Repositório com projeto usado para escrever o artigo em destaque.
https://github.com/lucasspeixoto/signals-crud-example
Last synced: about 19 hours ago
JSON representation
Repositório com projeto usado para escrever o artigo em destaque.
- Host: GitHub
- URL: https://github.com/lucasspeixoto/signals-crud-example
- Owner: lucasspeixoto
- Created: 2023-07-04T00:35:51.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-06-25T13:27:01.000Z (5 months ago)
- Last Synced: 2024-06-25T14:35:17.591Z (5 months ago)
- Language: TypeScript
- Homepage: https://medium.com/@lspeixotodev/criando-um-crud-com-angular-observables-signals-75008ff4671c
- Size: 264 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Repositório base do artigo: [Criando um CRUD com Angular: Observables + Signals](https://medium.com/@lspeixotodev/criando-um-crud-com-angular-observables-signals-75008ff4671c)
## Introdução
Signals é uma nova feature disponível no Angular a partir da versão 16 lançado em maio de 2023. Na comunidade muitas discussões a respeito desta nova feature estão acontecendo, mas afinal, o que é um Signal ? Um signal é um tipo especial de variável, que além de possuir um valor, emite uma notificação, ou seja, notifica quando este valor é alterado (reativo). Em resumo, podemos dizer que um signal:
* É uma variável + notificação de mudanças;
* É reativo;
* É síncrono;
* Sempre possui um valor;Em aplicações Angular pode ser utilizado em conjunto com observables do RxJS e não como substituto.
## Contextualização
Se olharmos as dependências de um projeto angular, vamos ver que existe uma ferramenta chamada Zone.js, que auxilia o framework no processo de detecção de mudanças, ou seja, na identificação de alterações para informar que era precisa uma atualização nos templates de forma e refletir os novos valores.
Por mais que funcionasse muito bem, Zone.js não possibilita a identificação específica de onde a mudança acontece, precisando desta forma, atualizar toda a árvore de componentes da aplicação. Com o Signals, será possível uma maior granularidade nestas detecções de mudanças, ou seja, aumentar a eficiência no processo.
Neste artigo vamos entender na prática os conceitos por trás dos signals através de um crud completo. Além de entender os conceitos vamos verificar situações especificas para melhor utilizar cada funcionalidade nova por trás dos signals.
Com os signals conseguimos uma forma mais simples e eficiente de gerenciar estado em aplicações angular, neste exemplo prático vamos aprender diversas funcionalidades que nos auxiliam no gerenciamento de estado utilizando signals como, por exemplo: signals, computed, update, set, toSignal, toObservable e effect.