We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f222a5c commit 717490eCopy full SHA for 717490e
1 file changed
others/state_management.js
@@ -0,0 +1,29 @@
1
+class Store {
2
+ constructor(initialState) {
3
+ this.state = initialState;
4
+ this.listeners = [];
5
+ }
6
+
7
+ subscribe(listener) {
8
+ this.listeners.push(listener);
9
10
11
+ setState(newState) {
12
+ this.state = { ...this.state, ...newState };
13
+ this.listeners.forEach((listener) => listener(this.state));
14
15
16
+ getState() {
17
+ return this.state;
18
19
+}
20
21
+const store = new Store({ count: 0 });
22
23
+store.subscribe((state) => {
24
+ console.log("State changed:", state);
25
+});
26
27
+store.setState({ count: store.getState().count + 1 });
28
29
0 commit comments