npm

Need private packages and team management tools?Check out npm Orgs. »

reflux-hoc

1.0.2 • Public • Published

Travis David npm codecov.io

Higher order component for [reflux][r]

Installation

$ npm install --save reflux-hoc

Usage

passing the data as props

You can directly get the data from a stores as props with connectToData.

import { connectToData } from 'reflux-hoc';
 
connectToData(
  { users: UserStore } // the store you want to connect to.
, (props, actionData) => ({ users: users.getUsers() }) // this function is call for the initialState and if the store changes.
, function({ users }) { // the users are passed down as a prop
    return (
      <ul>
        {this.props.users.map(u => <li>{u.name}</li>)}
      </ul>);
  }
);

with a onChange callback on the component

❗️ This uses calls the provided onChange function on the child component. If you use more then one HOC, make sure connect` is applied directly to the component. ❗️

import connect from 'reflux-hoc';
 
const Component = React.createClass({
  onStoreChange () {
    // called on change
  },
 
  render () { return <h1>Fire</h1> }
});
 
const ConnectedComponent = connect(Store, 'onStoreChange', Component);

API

connectToData

// connectToData :: { b: Store } -> ({ a: * }) -> Component -> Component connectToData({ PersonStore, PostStore }, (props, actionData) => ( { persons: PersonStore.getPersons(), posts: PostStore.getPosts() } ), Component);


### connect

```js
// connect :: Store -> String -> Component -> Component
connect(Store, CallbackName, Component);

// connect :: [Store] -> String -> Component -> Component
connect([Store1, Store2], CallbackName, Component);

// or
const connectToStores = connect([Store1, Store2]);

connectToStores('onStoresChange', Compnent);


## License

MIT © [Christoph Hermann](http://stoeffel.github.io)

[r]: https://github.com/reflux/refluxjs

install

npm i reflux-hoc

Downloadsweekly downloads

36

version

1.0.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
  • avatar
Report a vulnerability