react-state-bucket 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# React
|
|
1
|
+
# React State Bucket
|
|
2
2
|
|
|
3
3
|
`react-state-bucket` is a lightweight state management library for React. It allows developers to create global states that can be accessed and modified from any component. The state can be stored in memory, session storage, or the URL query parameters, providing flexibility for different use cases.
|
|
4
4
|
|
|
@@ -32,15 +32,15 @@ The package is designed for use with React's client-side components. Start by im
|
|
|
32
32
|
|
|
33
33
|
```javascript
|
|
34
34
|
"use client";
|
|
35
|
-
import {
|
|
35
|
+
import { createBucket } from "react-state-bucket";
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
### Creating a State
|
|
39
39
|
|
|
40
|
-
Use the `
|
|
40
|
+
Use the `createBucket` function to define a global state. Provide an initial state object and optionally specify the storage type (`"memory"`, `"session"`, or `"url"`).
|
|
41
41
|
|
|
42
42
|
```javascript
|
|
43
|
-
const useGlobalState =
|
|
43
|
+
const useGlobalState = createBucket({
|
|
44
44
|
count: 0,
|
|
45
45
|
name: "React",
|
|
46
46
|
}, {
|
|
@@ -84,7 +84,7 @@ export default App;
|
|
|
84
84
|
|
|
85
85
|
### State API
|
|
86
86
|
|
|
87
|
-
When you call the hook returned by `
|
|
87
|
+
When you call the hook returned by `createBucket`, you gain access to a set of utility methods:
|
|
88
88
|
|
|
89
89
|
| Method | Description |
|
|
90
90
|
| ----------------- | ---------------------------------------------------------- |
|
|
@@ -100,7 +100,7 @@ When you call the hook returned by `createState`, you gain access to a set of ut
|
|
|
100
100
|
|
|
101
101
|
### Storage Options
|
|
102
102
|
|
|
103
|
-
The `
|
|
103
|
+
The `createBucket` function supports three storage types:
|
|
104
104
|
|
|
105
105
|
1. **Memory (default):** Stores the state in memory for the duration of the session.
|
|
106
106
|
2. **Session:** Persists the state in `sessionStorage` across page reloads.
|
|
@@ -109,7 +109,7 @@ The `createState` function supports three storage types:
|
|
|
109
109
|
#### Example with URL Storage:
|
|
110
110
|
|
|
111
111
|
```javascript
|
|
112
|
-
const useURLState =
|
|
112
|
+
const useURLState = createBucket({
|
|
113
113
|
theme: "light",
|
|
114
114
|
}, {
|
|
115
115
|
store: "url",
|
|
@@ -131,7 +131,7 @@ function ThemeSwitcher() {
|
|
|
131
131
|
### Managing a Multi-Step Form
|
|
132
132
|
|
|
133
133
|
```javascript
|
|
134
|
-
const useFormState =
|
|
134
|
+
const useFormState = createBucket({
|
|
135
135
|
step: 1,
|
|
136
136
|
formData: {},
|
|
137
137
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
type Option = {
|
|
2
2
|
store: "memory" | "session" | "url";
|
|
3
3
|
};
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const createBucket: <IT extends {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}>(initial: IT, option?: Option) => () => {
|
|
7
7
|
set: <T extends keyof IT>(key: T, value: IT[T]) => void;
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAMlD,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED