@backand/redux-sdk

Backand SDK for Redux

Usage no npm install needed!

<script type="module">
  import backandReduxSdk from 'https://cdn.skypack.dev/@backand/redux-sdk';
</script>

README

redux-sdk

Backand SDK for Redux. This is the documentation for Back&'s Redux SDK. This SDK enables you to communicate comfortably and quickly with your Backand app. It wraps the vanilla-sdk to allow you to work with Back& more easily when working on projects based on Redux.

Overview

This SDK is a Redux wrapper around our vanilla-sdk. This provides convenient objects and properties for Redux apps working with Back&. You can refer to the vanilla-sdk's readme for a full API reference. Follow the instructions below to install our Redux SDK!

Installation

To install the Redux SDK, use the correct command for your dependency management platform:

Provider Command
npm $ npm i -S @backand/redux-sdk
yarn $ yarn add @backand/redux-sdk

Quick start

To get started, first use bkdnredux to generate the necessary Types, Actions, and Reducers for your Backand objects from the command line:

$ node "./node_modules/.bin/bkndredux" --help
$ node "./node_modules/.bin/bkndredux" user obj1 obj2 obj3... -m (thunk/saga)

Note: user is a unique object. It has a different Reducer and Type, and it reveals most of the authentication Actions (getUserDetails, signin, signout, etc.).

Next, Include the new Reducers in combineReducers():

import { combineReducers } from 'redux'
import user from './user/userReducer'
import obj1 from './obj1/obj1Reducer'
import obj2 from './obj2/obj2Reducer'

combineReducers({
  user,
  obj1,
  obj2
})

For the next step, pick the section that applies to your chosen middleware stack - either redux-thunk or redux-saga - then follow the corresponding instructions:

redux-thunk

Download redux-thunk and include it in createStore():

import { createStore, applyMiddleware } from 'redux'
import thunk from 'redux-thunk'

createStore(rootReducer, initialState, applyMiddleware(thunk))

redux-saga

Download redux-saga and include it in createStore():

import { createStore, applyMiddleware } from 'redux'
import createSagaMiddleware from 'redux-saga'
import rootSaga from './sagas.js'

const sagaMiddleware = createSagaMiddleware()
createStore(rootReducer, initialState, applyMiddleware(sagaMiddleware))
sagaMiddleware.run(rootSaga)

Working with the SDK

Once the above is completed, import Actions and dispatch them easily!

import { getUserDetails, signin, useAnonymousAuth, signout } from './user/userActions'

store.dispatch(signin(username, password))
store.dispatch(getUserDetails())

Examples

Below are a few examples of Redux code that uses the Back& SDK:

License

MIT