1.0.1 • Published 7 years ago

react-bonestore v1.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

React bonestore connect npm version Build Status Dependency Status devDependencies Status

Connect bonestore using React higher-order component (HOC)

Example

// index.jsx
import { Provider } from 'react-bonestore';
import List from './list';
import store from './store'; // bonestore

ReactDOM.render(
    <Provider store={store}>
        <List />
    </Provider>,
    document.getElementById('app')
);


// posts-list.jsx
import connect from 'react-bonestore';

const List = ({ posts, onPostCreate }) =>
    <div>
        <ul>
            {posts.map((post) =>
                <li>{post.title}</li>
            )}
        </ul>
        <button onClick={() => {
            onPostCreate({title: 'Hello new post!'})
        }}>Create</button>
    </div>;

export default connect((props) => [
    'posts',
    ['onPostCreate', 'posts', (posts) => (data) => posts.create(data)]
])(List);

Shortcut definitions

The following definitions are identical:

export default connect(() => [
    'posts',
    // ↓
    ['posts', 'posts', (store) => store.defaultFind()]
    // ↓
    {
        propName: 'posts',
        watch: ['posts'],
        value: (store) => store.defaultFind()
    }
])(List);