mirror of
https://github.com/pmndrs/zustand.git
synced 2025-12-08 19:45:52 +00:00
docs(middleware): modify both set and setState (#2306)
* docs(middleware): modify `set` and `setState` * update middleware docs
This commit is contained in:
parent
b466a7585e
commit
eb8443faa3
@ -259,7 +259,11 @@ const loggerImpl: LoggerImpl = (f, name) => (set, get, store) => {
|
||||
set(...a)
|
||||
console.log(...(name ? [`${name}:`] : []), get())
|
||||
}
|
||||
store.setState = loggedSet
|
||||
const setState = store.setState
|
||||
store.setState = (...a) => {
|
||||
setState(...a)
|
||||
console.log(...(name ? [`${name}:`] : []), store.getState())
|
||||
}
|
||||
|
||||
return f(loggedSet, get, store)
|
||||
}
|
||||
|
||||
25
readme.md
25
readme.md
@ -284,31 +284,6 @@ clearForest()
|
||||
|
||||
[Alternatively, there are some other solutions.](./docs/guides/updating-state.md#with-immer)
|
||||
|
||||
## Middleware
|
||||
|
||||
You can functionally compose your store any way you like.
|
||||
|
||||
```jsx
|
||||
// Log every time state is changed
|
||||
const log = (config) => (set, get, api) =>
|
||||
config(
|
||||
(...args) => {
|
||||
console.log(' applying', args)
|
||||
set(...args)
|
||||
console.log(' new state', get())
|
||||
},
|
||||
get,
|
||||
api,
|
||||
)
|
||||
|
||||
const useBeeStore = create(
|
||||
log((set) => ({
|
||||
bees: false,
|
||||
setBees: (input) => set({ bees: input }),
|
||||
})),
|
||||
)
|
||||
```
|
||||
|
||||
## Persist middleware
|
||||
|
||||
You can persist your store's data using any kind of storage.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user