From b1cea640c82b0cdc2b225502230b1c23e4977c81 Mon Sep 17 00:00:00 2001 From: Blazej Sewera Date: Thu, 15 Dec 2022 04:26:09 +0100 Subject: [PATCH] Revise the third-party libraries documentation page (#1478) * docs(#1220): third-party libraries page revision - Make Zustand name always start from a capital letter, - Unify list formatting and description style, - Change minuses to em-dashes, - Change 3rd to third. * docs(#1220): update links from 3rd-party to third-party --- docs/guides/auto-generating-selectors.md | 2 +- docs/integrations/3rd-party-libraries.md | 36 ------------------ docs/integrations/third-party-libraries.md | 43 ++++++++++++++++++++++ readme.md | 4 +- 4 files changed, 46 insertions(+), 39 deletions(-) delete mode 100644 docs/integrations/3rd-party-libraries.md create mode 100644 docs/integrations/third-party-libraries.md diff --git a/docs/guides/auto-generating-selectors.md b/docs/guides/auto-generating-selectors.md index fe3066288..e2358a06f 100644 --- a/docs/guides/auto-generating-selectors.md +++ b/docs/guides/auto-generating-selectors.md @@ -69,7 +69,7 @@ const increase = useBearStore.use.increment() For a working example of this, see the [Code Sandbox](https://codesandbox.io/s/zustand-auto-generate-selectors-forked-rl8v5e?file=/src/selectors.ts). -## 3rd-party Libraries +## Third-party Libraries - [auto-zustand-selectors-hook](https://github.com/Albert-Gao/auto-zustand-selectors-hook) - [react-hooks-global-state](https://github.com/dai-shi/react-hooks-global-state) diff --git a/docs/integrations/3rd-party-libraries.md b/docs/integrations/3rd-party-libraries.md deleted file mode 100644 index e9a3565b4..000000000 --- a/docs/integrations/3rd-party-libraries.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: 3rd Party Libraries -nav: 16 ---- - -Zustand provides bear necessities for state management which is great for most projects; however, some users wish to extend the library's feature set. This can be done using 3rd-party libraries created by the community. - -> Disclaimer: These libraries may have bugs, limited maintenance, or other limitations and are not officially recommended by pmndrs or the zustand maintainers. This list is to provide a good starting point for someone looking to extend zustand's feature set. - -- [@colorfy-software/zfy](https://colorfy-software.gitbook.io/zfy/) - 🧸 Useful helpers for state management in React with zustand. -- [@dhmk/zustand-lens](https://github.com/dhmk083/dhmk-zustand-lens) - Lens support for zustand -- [@liveblocks/zustand](https://github.com/liveblocks/liveblocks/tree/main/packages/liveblocks-zustand) - Liveblocks middleware to make your application multiplayer. -- [auto-zustand-selectors-hook](https://github.com/Albert-Gao/auto-zustand-selectors-hook) - Auto generate zustand hooks for you store with Typescript support -- [derive-zustand](https://github.com/dai-shi/derive-zustand) - A function to create a derived Zustand store from stores -- [geschichte](https://github.com/BowlingX/geschichte) - zustand and immer based hook to manage query parameters -- [mobz](https://github.com/2A5F/Mobz) - zustand style mobx api -- [shared-zustand](https://github.com/Tom-Julux/shared-zustand) - cross-tab state sharing for zustand -- [simple-zustand-devtools](https://github.com/beerose/simple-zustand-devtools) - Inspect your zustand store in React DevTools 🐻⚛️ -- [solid-zustand](https://github.com/wobsoriano/solid-zustand) - Zustand state management for Solid. -- [use-zustand](https://github.com/dai-shi/use-zustand) - Another custom hook to use Zustand vanilla store -- [vue-zustand](https://github.com/wobsoriano/vue-zustand) - State-management solution for Vue based on Zustand. -- [zoov](https://github.com/InfiniteXyy/zoov) - Use 🐻 Zustand with Module-like api -- [zundo](https://github.com/charkour/zundo) - 🍜 enable time-travel in your apps. undo/redo middleware for zustand -- [zustand-constate](https://github.com/ntvinhit/zustand-constate) - Context based state management that use the power of both zustand and constate, and remove many cons of them -- [zustand-computed](https://github.com/chrisvander/zustand-computed) - A Zustand middleware to create computed states. -- [zustand-forms](https://github.com/Conduct/zustand-forms) - fast typesafe form states as zustand stores -- [zustand-middleware-computed-state](https://github.com/cmlarsen/zustand-middleware-computed-state) - This is a dead simple middleware for adding computed state to state management library Zustand. -- [zustand-middleware-xstate](https://github.com/biowaffeln/zustand-middleware-xstate) - This middleware allows you to easily put your xstate state machines into a global zustand store. -- [zustand-middleware-yjs](https://github.com/joebobmiles/zustand-middleware-yjs) - Middleware for synchronizing Zustand stores with Yjs. -- [zustand-persist](https://github.com/roadmanfong/zustand-persist) - Persist and rehydrate state -- [zustand-saga](https://github.com/Nowsta/zustand-saga) - Zustand middleware for redux-saga (minus redux) -- [zustand-store-addons](https://github.com/Diablow/zustand-store-addons) - React state management addons for zustand. -- [zustand-yjs](https://github.com/tandem-pt/zustand-yjs) - Zustand stores for Yjs structures. -- [zusteller](https://github.com/timkindberg/zusteller) - Your global state savior. "Just hooks" + zustand. -- [zustood](https://github.com/udecode/zustood) - 🐻‍❄️ A modular store factory using zustand -- [zustand-rx](https://github.com/patdx/zustand-rx) - Zustand middleware with Rxjs diff --git a/docs/integrations/third-party-libraries.md b/docs/integrations/third-party-libraries.md new file mode 100644 index 000000000..31fffd69e --- /dev/null +++ b/docs/integrations/third-party-libraries.md @@ -0,0 +1,43 @@ +--- +title: Third-party Libraries +nav: 16 +--- + +Zustand provides bear necessities for state management. +Although it is great for most projects, +some users wish to extend the library's feature set. +This can be done using third-party libraries created by the community. + +> Disclaimer: These libraries may have bugs, limited maintenance, +> or other limitations, and are not officially recommended +> by pmndrs or the Zustand maintainers. +> This list aims to provide a good starting point +> for someone looking to extend Zustand's feature set. + +- [@colorfy-software/zfy](https://colorfy-software.gitbook.io/zfy/) — 🧸 Useful helpers for state management in React with Zustand. +- [@dhmk/zustand-lens](https://github.com/dhmk083/dhmk-zustand-lens) — Lens support for Zustand. +- [@liveblocks/zustand](https://github.com/liveblocks/liveblocks/tree/main/packages/liveblocks-zustand) — Liveblocks middleware to make your application multiplayer. +- [auto-zustand-selectors-hook](https://github.com/Albert-Gao/auto-zustand-selectors-hook) — Automatic generation of Zustand hooks with Typescript support. +- [derive-zustand](https://github.com/dai-shi/derive-zustand) — A function to create a derived Zustand store from other Zustand stores. +- [geschichte](https://github.com/BowlingX/geschichte) — Zustand and Immer-based hook to manage query parameters. +- [mobz](https://github.com/2A5F/Mobz) — Zustand-style MobX API. +- [shared-zustand](https://github.com/Tom-Julux/shared-zustand) — Cross-tab state sharing for Zustand. +- [simple-zustand-devtools](https://github.com/beerose/simple-zustand-devtools) — 🐻⚛️ Inspect your Zustand store in React DevTools. +- [solid-zustand](https://github.com/wobsoriano/solid-zustand) — State management in Solid using Zustand. +- [use-zustand](https://github.com/dai-shi/use-zustand) — Another custom hook to use Zustand vanilla store. +- [vue-zustand](https://github.com/wobsoriano/vue-zustand) — State management solution for Vue based on Zustand. +- [zoov](https://github.com/InfiniteXyy/zoov) — State management solution based on Zustand with Module-like API. +- [zundo](https://github.com/charkour/zundo) — 🍜 Undo and redo middleware for Zustand, enabling time-travel in your apps. +- [zustand-constate](https://github.com/ntvinhit/zustand-constate) — Context-based state management based on Zustand and taking ideas from Constate. +- [zustand-computed](https://github.com/chrisvander/zustand-computed) — A Zustand middleware to create computed states. +- [zustand-forms](https://github.com/Conduct/zustand-forms) — Fast, type safe form states as Zustand stores. +- [zustand-middleware-computed-state](https://github.com/cmlarsen/zustand-middleware-computed-state) — A dead simple middleware for adding computed state to Zustand. +- [zustand-middleware-xstate](https://github.com/biowaffeln/zustand-middleware-xstate) — A middleware for putting XState state machines into a global Zustand store. +- [zustand-middleware-yjs](https://github.com/joebobmiles/zustand-middleware-yjs) — A middleware for synchronizing Zustand stores with Yjs. +- [zustand-persist](https://github.com/roadmanfong/zustand-persist) — A middleware for persisting and rehydrating state. +- [zustand-saga](https://github.com/Nowsta/zustand-saga) — A Zustand middleware for redux-saga (minus redux). +- [zustand-store-addons](https://github.com/Diablow/zustand-store-addons) — React state management addons for Zustand. +- [zustand-yjs](https://github.com/tandem-pt/zustand-yjs) — Zustand stores for Yjs structures. +- [zusteller](https://github.com/timkindberg/zusteller) — Your global state savior. "Just hooks" + Zustand. +- [zustood](https://github.com/udecode/zustood) — 🐻‍❄️ A modular store factory using Zustand. +- [zustand-rx](https://github.com/patdx/zustand-rx) — A Zustand middleware enabling you to subscribe to a store as an RxJS Observable. diff --git a/readme.md b/readme.md index 666e8ce80..a562f3fc4 100644 --- a/readme.md +++ b/readme.md @@ -501,9 +501,9 @@ A more complete TypeScript guide is [here](docs/guides/typescript.md). - [Calling actions outside a React event handler in pre React 18](./docs/guides/event-handler-in-pre-react-18.md). - [Testing](./docs/guides/testing.mdx) -## 3rd-Party Libraries +## Third-Party Libraries -Some users may want to extends Zustand's feature set which can be done using 3rd-party libraries made by the community. For information regarding 3rd-party libraries with Zustand, visit [the doc](./docs/integrations/3rd-party-libraries.md). +Some users may want to extends Zustand's feature set which can be done using third-party libraries made by the community. For information regarding third-party libraries with Zustand, visit [the doc](./docs/integrations/third-party-libraries.md). ## Comparison with other libraries