1.0.20 • Published 2 years ago
crown-state v1.0.20
Crown State
Crown State is a lightweight state management library. Just listens to state and sends changes to page or component that attach
Installation
Crown State is available as a package on NPM and YARN:
# NPM
npm install crown-state
# YARN
yarn add crown-state
Documantation
The Crown State docs are located at crown-state
Create a global state object
Create a new global state and export it, you can use with type and initial values
// user-state.ts
import State from "crown-state";
//Initial State Type
type UserType = {
age: number;
name: string;
};
export const $user = new State<UserType>({
age: 27,
name: "Selçuk",
});
Listen the state
import { $user } from "../user-state";
import { Attachment } from "crown-state";
/**
* This method attaches to the relevant state and returns an Attachment
* type value. In case of any change on this state, both current state
* and previous state values can be accessed via the callback method.
*/
const att = Attachment = $user.attach((value, previousValue) => {
console.log(value);
console.log(previousValue);
});
/**
* If you don't want to listen to the changes on this state,
* you can use the detach method.
*/
att.detach();
Update the state
import { $user } from "../user-state";
// To update the state just pass the values to the update method
$user.update({
name: 'changed name',
age: 28
});
// If you want to change only one field in state
$user.update({
...$user.value, // value gives you the current state value
name: 'changed name'
});
License
1.0.20
2 years ago
1.0.19
3 years ago
1.0.18
3 years ago
1.0.17
3 years ago
1.0.16
3 years ago
1.0.15
3 years ago
1.0.14
3 years ago
1.0.13
3 years ago
1.0.12
3 years ago
1.0.11
3 years ago
1.0.10
3 years ago
1.0.9
3 years ago
1.0.8
3 years ago
1.0.7
3 years ago
1.0.6
3 years ago
1.0.5
3 years ago
1.0.4
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.1
3 years ago
1.0.0
3 years ago