1.2.0 • Published 7 months ago

arara-state v1.2.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
7 months ago

Arara State Manager

O Arara State Manager é um pacote JavaScript que oferece uma maneira simples de gerenciar o estado do aplicativo utilizando o Recoil, uma biblioteca de gerenciamento de estado para React.

Instalação

Você pode instalar o Arara State Manager usando o npm ou yarn:

npm install arara-state-manager
# ou
yarn add arara-state-manager

Uso Básico
Para começar a usar o Arara State Manager, importe a função Store a partir do pacote:
import { Store } from 'arara-state-manager'

Em seguida, chame a função Store para criar uma instância da loja de estado:
const { useAtomValue, updateAtomValue } = Store();

O método useAtomValue permite que você acesse o valor de um átomo em seu estado global. Forneça a key (chave) correspondente ao átomo que você deseja acessar e um valor defaultValue padrão caso o átomo ainda não tenha sido inicializado.

Exemplo:

const setValue = updateAtomValue('counter');
setValue(42); // Define o valor do átomo 'counter' como 42

localStorageEffect(key)
O Arara State Manager também oferece suporte a efeitos para persistir o estado no armazenamento local (localStorage). Para usar o efeito de armazenamento local, você deve criar um átomo com este efeito:

const atomWithLocalStorage = atom({
  key: 'myAtom',
  default: null,
  effects_UNSTABLE: [localStorageEffect('myAtom')],
});

Este efeito salvará e carregará automaticamente o valor do átomo no armazenamento local.

Exemplos
Aqui estão alguns exemplos de uso do Arara State Manager:

Exemplo 1: Contador

const counterValue = useAtomValue('counter', 0);
const incrementCounter = () => {
  const updatedValue = counterValue + 1;
  updateAtomValue('counter')(updatedValue);
};

Exemplo 2: Lista de Tarefas

const tasks = useAtomValue('tasks', []);
const addTask = (newTask) => {
  const updatedTasks = [...tasks, newTask];
  updateAtomValue('tasks')(updatedTasks);
};
1.2.0

7 months ago

1.1.0

7 months ago

1.0.9

7 months ago

1.0.8

7 months ago

1.0.7

7 months ago

1.0.5

7 months ago

1.0.4

7 months ago

1.0.3

7 months ago

1.0.2

7 months ago

1.0.1

7 months ago

1.0.0

7 months ago