redux-effects-universal-cookie

1.0.1 • Public • Published

redux-effects-universal-cookie

Universal version of redux-effects-cookie.

Installation

npm install --save redux-effects-universal-cookie

Usage

Installing the middleware

for Browsers:

import { createStore, applyMiddleware } from 'redux';
import cookieMiddleware from 'redux-effects-universal-cookie';
import rootReducer from './reducers';

const store = createStore(
  rootReducer,
  applyMiddleware(
    cookieMiddleware() // no args
  )
);

for Express:

import { createStore, applyMiddleware } from 'redux';
import cookieMiddleware from 'redux-effects-universal-cookie';
import rootReducer from './reducers';

app.get('/', function(req, res){
  const store = createStore(
    rootReducer,
    applyMiddleware(
      cookieMiddleware(req, res)
    )
  );
});

for Koa (via cookies ):

import { createStore, applyMiddleware } from 'redux';
import cookieMiddleware from 'redux-effects-universal-cookie';
import rootReducer from './reducers';

app.use(function *(){
  const store = createStore(
    rootReducer,
    applyMiddleware(
      cookieMiddleware(this.cookies)
    )
  );
});

Using Actions:

getting cookie:

import { cookie } from 'redux-effects-univarsal-cookie';

const propmise = store.dispatch(cookie('foo'));

setting cookie:

import { cookie } from 'redux-effects-univarsal-cookie';

const propmise = store.dispatch(cookie('foo', 'some value'));

setting cookie with options:

import { cookie } from 'redux-effects-univarsal-cookie';

const propmise = store.dispatch(cookie('foo', 'some value', { maxAge: 600 }));

Defferences from redux-effects-cookie

On the server-side, redux-effects-cookie does not reflect the setting to a cookie for a response (i.e. Set-Cookie headers.).

On the other hand, redux-effects-universal-cookie sets Set-Cookie headers properly.

API

Action Creators

cookie(name, [value], [options])

Arguments
  • name (String): The name of cookie.
  • value (Any): If omitted, returns the cookie value. Otherwise, sets the cookie value. Passing null as value deletes the cookie.
  • options (Object): Please see below links for more options: * Browser * Express * Koa (cookies)
Returns
  • (Object): An action object.

Middleware

cookieMiddleware()

Create Redux middleware for browser environment.

Returns
  • (Function) Redux middleware.

cookieMiddleware(cookies)

Create Redux middleware for Koa environment.

Arguments
  • cookies (Object): The cookies object.
Returns
  • (Function) Redux middleware.

cookieMiddleware(req, res)

Create Redux middleware for Express environment.

Arguments
Returns
  • (Function) Redux middleware.

Package Sidebar

Install

npm i redux-effects-universal-cookie

Weekly Downloads

223

Version

1.0.1

License

MIT

Last publish

Collaborators

  • koichik
  • yosuke-furukawa