
GraphQL state
131 users
Version: 0.3.1
Updated: December 15, 2021

Available in the
Chrome Web Store
Chrome Web Store
Install & Try Now!

SodaStream Source WHITE - READ

Portable Translator Smart Translate Document Voice Languages Translation Touch Screen Pen Scanner

Bresser National Geographic Basic Weather Station Black

Nike Caitlin Clark Indiana Fever 2024 Women's Dri-Fit WNBA Victory Jersey Red

Mission Solo Dart Flights - 100 Micron - No2 (Standard) - Kuro

Wilson NFL All Pro Peewee Football
This Chrome extension will add a panel named "GraphQL state" to your devtools. When you use the framework "https://github.com/babyfish-ct/graphql-state", it can help you debug.
In the "GraphQL state" panel, you will see three tab pages: "Simple states", "Graph states" and "Evict Logs".
1. Simple states
The framework supports simple state management similar to "recoil", this tab page can visualize all simple states for you.
2. Graph states
The framework supports graph state management similar to "Apollo Client" and "Relay", its built-in normalized-cache is used to manage all data and relationships. This tab page can visualize this normalized-cache for you.
3. Evict Logs
This is the core value of the framework.
The essence of UI state is that one main mutation causes N extra mutations, the more complex the UI, the larger the N.
The framework allows developer only focus on main mutation, all the extra mutations will be executed automatically.
Compare with Apollo Client and Relay, after mutation, you neither need to update other affected data in the cache, nor need to determine which queries will be affected and need to be refetched.
When the framework is automatically performing extra mutations, it can choose to modify the cache directly, or it may choose to evict affected data from cache (this will cause related queries to be refetched automatically).
Obviously, the first choice is better than the second choice. This tab page lists the history of the second choice made by the framework, and tells the developer the following information.
i. Why did the framework make the second choice?
ii. Is it possible for developers to intervene in optimization and let framework make the first choice?
iii. If so, what should developers do?
In the "GraphQL state" panel, you will see three tab pages: "Simple states", "Graph states" and "Evict Logs".
1. Simple states
The framework supports simple state management similar to "recoil", this tab page can visualize all simple states for you.
2. Graph states
The framework supports graph state management similar to "Apollo Client" and "Relay", its built-in normalized-cache is used to manage all data and relationships. This tab page can visualize this normalized-cache for you.
3. Evict Logs
This is the core value of the framework.
The essence of UI state is that one main mutation causes N extra mutations, the more complex the UI, the larger the N.
The framework allows developer only focus on main mutation, all the extra mutations will be executed automatically.
Compare with Apollo Client and Relay, after mutation, you neither need to update other affected data in the cache, nor need to determine which queries will be affected and need to be refetched.
When the framework is automatically performing extra mutations, it can choose to modify the cache directly, or it may choose to evict affected data from cache (this will cause related queries to be refetched automatically).
Obviously, the first choice is better than the second choice. This tab page lists the history of the second choice made by the framework, and tells the developer the following information.
i. Why did the framework make the second choice?
ii. Is it possible for developers to intervene in optimization and let framework make the first choice?
iii. If so, what should developers do?
Related

Apollo Tracing
519

GraphQL developer tools
10,000+

GraphQL-Inspect
26

Graphql-devtools
136

GraphQL DevTools
2,000+

GraphQL Playground for Chrome
10,000+

GraphQL Network Inspector
100,000+

GraphiQL extension
10,000+

AEM Chrome Tools
43

Querio - GraphQL and HTTP requests inspector
3,000+

Altair GraphQL Client
60,000+

Apollo Inspector
169

Graphql Inspector
73

Apollo Client Devtools
200,000+

Graphql Query Generator
3,000+

React Context DevTool
40,000+

Saturn
116

React Stores Devtools Extension
1,000+

ChromeiQL
10,000+

Reactime
3,000+

React Performance Devtool
8,000+

React Repositories New Tab
154

Relay Developer Tools
5,000+

Esri AEM Chrome Extension
333