Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/babyfish-ct/graphql-state
An intelligent react state management framework
https://github.com/babyfish-ct/graphql-state
graphql react rest-client state-management
Last synced: 3 months ago
JSON representation
An intelligent react state management framework
- Host: GitHub
- URL: https://github.com/babyfish-ct/graphql-state
- Owner: babyfish-ct
- License: mit
- Created: 2021-09-24T10:13:25.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-01-27T09:18:17.000Z (almost 2 years ago)
- Last Synced: 2024-08-10T19:17:28.122Z (6 months ago)
- Topics: graphql, react, rest-client, state-management
- Language: TypeScript
- Homepage:
- Size: 4.62 MB
- Stars: 55
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
![image](./chrome-extension/public/images/128_128.png "Logo")
# An intelligent react state management framework#### Language: English | [Chinese](./README_zh_CN.md)
## Video introduction
[https://www.youtube.com/watch?v=05Xx_t8GC18](https://www.youtube.com/watch?v=05Xx_t8GC18)
*(Sorry, English is not good, so I use AI to synthesize speech)*## Project description
What is the essence of UI state?
> One main mutation causes **N** extra mutations. The more complex the UI, the larger the **N**.*(If you have ever developed more complex UI, you will resonate with it. If not, don’t worry, let's discuss it together in the [Project context](./site/background.md).)*
This is the essence of UI state, also the biggest trouble of UI development.
**This framework allows developers to focus only on the main mutation, extra mutations are handled automatically.**
*Compare with [Apollo client](https://github.com/apollographql/apollo-client) and [Relay](https://github.com/facebook/relay), after mutation, you only need to save the main mutation into local cache. Neither need to manually change other affected data in the local cache, nor need to specify which queries will be affected and need to be refetched, because of all the extra mutations is handled automatically.*
## About REST
The project name is "graphql-state". Don't worry, it's **"GraphQL style, but not GraphQL only"**, it can map REST service to GraphQL service.
## Table of contents
- [Project context](./site/background.md)
- [Functions and GIF animation demonstrations](./site/function-and-gif.md)
- [Get start](./site/get-start.md)
- [Run attached demos](./site/run-demo.md)
- [Documentation](./doc/README.md)## Chrome extension
In order to help developers debug, this framework supports [chrome extension](https://chrome.google.com/webstore/detail/graphql-state/bhpeanmgkcpkpnkpmemoomlfflmaaddo).
## Dependencies
[graphql-ts-client](https://github.com/babyfish-ct/graphql-ts-client)(3.1.11+), TypeScript DSL for GraphQL