uppy/packages/@uppy/store-redux
Artur Paikin 056a7114a1 Release
2019-08-30 15:24:04 +03:00
..
src Update eslint to v6 (#1777) 2019-08-13 21:45:30 +03:00
types Fix more type import cycles 2019-05-20 11:31:21 +02:00
LICENSE Move ReduxStore to the @uppy/store-redux package. 2018-06-14 16:31:19 +02:00
package.json Release 2019-08-30 15:24:04 +03:00
README.md docs: update webpack homepage URLs 2019-03-04 13:43:37 +01:00

@uppy/store-redux

Uppy logo: a superman puppy in a pink suit

Build Status

The ReduxStore stores Uppy state on a key in an existing Redux store. The ReduxStore dispatches uppy/STATE_UPDATE actions to update state. When the state in Redux changes, it notifies Uppy. This way, you get most of the benefits of Redux, including support for the Redux Devtools and time traveling!

Uppy is being developed by the folks at Transloadit, a versatile file encoding service.

Example

const { combineReducers, createStore } = require('redux')
const Uppy = require('@uppy/core')
const ReduxStore = require('@uppy/store-redux')
const reducers = require('./reducers')

const reducer = combineReducers({
  ...reducers,
  uppy: ReduxStore.reducer
})

const store = createStore(reducer)

const uppy = Uppy({
  store: ReduxStore({
    store: store
  })
})

Installation

$ npm install @uppy/store-redux --save

We recommend installing from npm and then using a module bundler such as Webpack, Browserify or Rollup.js.

Alternatively, you can also use this plugin in a pre-built bundle from Transloadit's CDN: Edgly. In that case Uppy will attach itself to the global window.Uppy object. See the main Uppy documentation for instructions.

Documentation

Documentation for this plugin can be found on the Uppy website.

License

The MIT License.