Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

reflux-rehydrate

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reflux-rehydrate

Rehydrate RefluxJS stores, to support isomorphic rendering, or loading from local storage (running offline or recovering unsaved data)

  • 0.1.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
8
increased by166.67%
Maintainers
1
Weekly downloads
 
Created
Source

reflux-rehydrate

Wrapper to rehydrate RefluxJS stores

Rehydrate RefluxJS store wrapper classes, to support isomorphic rendering, or loading from local storage (running offline or recovering unsaved data)

At this stage, this library is not needed. You can rehydrate your stores simply by calling Reflux.init() then calling setState() just like you would inside the store.

 constructor(props: Object) {
    super(props);
    Reflux.init(MyStore).setState({myData: this.props.myData});
  }

However this library also adds a quick wrapper so we can just do one call Reflux.rehydrate(). We also hope to expand on this functionality in the future to assist with persistance to local storage etc.

Installation

npm install reflux-rehydrate or yarn add reflux-rehydrate

Requires RefluxJS using the latest ES6 configuration

To do something similar with older ES5 mixins, see my fork of the Super-Simple-Flux where I've added an initWithProps tie-in on the mixin.

Usage

Components

In componentWillMount, initialize the store singleton using Rehydrate.initStore(MyStore), then call the rehydrate action with a state object containing the data to be rehydrated, for example Actions.rehydrate(this.props)

Example Code:

import Reflux from 'reflux-rehydrate';
import MyStore from '../stores/MyStore';

export default class MyComponent extends Reflux.Component {

   constructor(props: Object) {
    super(props);
    Reflux.rehydrate(MyStore, {myData: this.props.myData});
  }
  
  //...
}

Be sure that the names you use in rehydrate() actually match what is expected in the store just like any other call to setState()

Actions

Not currently needed, but optional for future compatibility so we can automatically setup actions in your stores.

import {createActions} from 'reflux-rehydrate';
export default createActions([
  'myAction1', 'myAction2'
]);

Store

Create your Store as you normally would.

Development

This project is using Rackt to simplify building React components https://github.com/mzabriskie/rackt-cli

Keywords

FAQs

Package last updated on 26 Apr 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc