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.
import Uppy from '@uppy/core'
import * as ReduxStore from '@uppy/store-redux'
import * as Redux from 'redux'
function createStore (reducers = {}) {
const reducer = Redux.combineReducers({ ...reducers, uppy: ReduxStore.reducer })
return Redux.createStore(reducer)
}
const store = new ReduxStore.ReduxStore({ store: createStore() })
const uppy = new Uppy({ store })
$ npm install @uppy/store-redux
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 for this plugin can be found on the Uppy website.