npm.io
1.2.1 • Published 9 years ago

rex-cookies

Licence
GPL-3.0
Version
1.2.1
Deps
0
Vulns
0
Weekly
0

rex-cookies

  • Universal middleware for Redux.
  • Will get a cookie when Redux store dispatches GET_COOKIE
  • Uses dependency injection to work in browser & server

Installation

npm i rex-cookies redux cookies js-cookie -S

Usage

Get a cookie

const action = {
  type: 'GET_COOKIE',
  name: 'myCookieName'
}

store.dispatch(action)

// Your reducers will receive:
action === {
  type: 'GET_COOKIE',
  name: 'myCookieName',
  value: 'the value of the cookie'
}

Setup

Server
const express = require('express')
const cookies = require('cookies')
const {createStore, applyMiddleware} = require('redux')

const cookieMiddleware = require('rex-cookies/middleware')
const reducer = require('./reducer')

const server = express()
server.use(cookies.express())

function(req, res) {
  const store = createStore(reducer, applyMiddleware(cookieMiddleware(req.cookies)))
}
Browser
const Cookies = require('js-cookie')
const cookieMiddleware = require('rex-cookies/middleware')
const {createStore, applyMiddleware} = require('redux')
const reducer = require('./reducer')

const store = createStore(reducer, applyMiddleware(cookieMiddleware(req.cookies)))

Keywords