/redux-query

A library for managing network state in Redux

Primary LanguageJavaScriptOtherNOASSERTION

redux-query

Travis Codecov

A library for managing network state in Redux.

Why use redux-query?

  • It's simply Redux: Follow best practices for storing and handling network state in Redux, with support for features like optimistic updates and cancellation. There's no magic here, just middleware, actions, selectors, and reducers.
  • It's extensible: Built to fit most use cases out-of-the-box, but can easily be extended with custom Redux middleware, UI integrations, and network interfaces.
  • It works great with React: With the provided React hooks and higher-order component in redux-query-react (optional), colocate data dependencies with your components and run requests when components mount or update.

Docs

Redux API

React API

Examples

  • Simple example: This example is a very simple web app that has only one feature – you can view and update your username. The purpose of this example is to demonstrate how requests and mutations (including optimistic updates) work with redux-query.
  • Hacker News: This example shows how to use redux-query, redux-query-react, and redux-query-interface-superagent to build a basic Hacker News client.

Packages

This project is published as multiple packages. redux-query, the core library, is the only required package. redux-query-react is recommended if you are using React in your application. redux-query requires a network interface which handles the implementation of network requests. You must either use the recommended interface, redux-query-interface-superagent, or supply your own.

Name Version Description
redux-query npm The core library for managing network requests with Redux.
redux-query-react npm Library of APIs for integrating redux-query with React components.
redux-query-interface-superagent npm The recommended network interface that handles network requests.

Upgrade guides

Contributing

See CONTRIBUTING.md.

License

MIT

About

Brought to you by Amplitude Engineering. We're hiring!