Skip to content

Commit eb8443f

Browse files
authored
docs(middleware): modify both set and setState (#2306)
* docs(middleware): modify `set` and `setState` * update middleware docs
1 parent b466a75 commit eb8443f

File tree

2 files changed

+5
-26
lines changed

2 files changed

+5
-26
lines changed

docs/guides/typescript.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,11 @@ const loggerImpl: LoggerImpl = (f, name) => (set, get, store) => {
259259
set(...a)
260260
console.log(...(name ? [`${name}:`] : []), get())
261261
}
262-
store.setState = loggedSet
262+
const setState = store.setState
263+
store.setState = (...a) => {
264+
setState(...a)
265+
console.log(...(name ? [`${name}:`] : []), store.getState())
266+
}
263267

264268
return f(loggedSet, get, store)
265269
}

readme.md

-25
Original file line numberDiff line numberDiff line change
@@ -284,31 +284,6 @@ clearForest()
284284
285285
[Alternatively, there are some other solutions.](./docs/guides/updating-state.md#with-immer)
286286
287-
## Middleware
288-
289-
You can functionally compose your store any way you like.
290-
291-
```jsx
292-
// Log every time state is changed
293-
const log = (config) => (set, get, api) =>
294-
config(
295-
(...args) => {
296-
console.log(' applying', args)
297-
set(...args)
298-
console.log(' new state', get())
299-
},
300-
get,
301-
api,
302-
)
303-
304-
const useBeeStore = create(
305-
log((set) => ({
306-
bees: false,
307-
setBees: (input) => set({ bees: input }),
308-
})),
309-
)
310-
```
311-
312287
## Persist middleware
313288
314289
You can persist your store's data using any kind of storage.

0 commit comments

Comments
 (0)