react-powerplug

Give life to your dumb components

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
react-powerplug
1.0.06 years ago7 years agoMinified + gzip package size for react-powerplug in KB

Readme

React PowerPlug

<img src="https://img.shields.io/npm/dt/react-powerplug.svg?style=flat-square" alt="npm" />
<img src="https://img.shields.io/github/stars/renatorib/react-powerplug.svg?style=flat-square" alt="stars" />
<img src="https://img.shields.io/twitter/url/https/github.com/renatorib/react-powerplug.svg?style=flat-square" alt="tweet" />



> React PowerPlug is a set of pluggable renderless components and helpers that provides different types of state and logic utilities that you can use with your dumb components. It creates state and passes down the logic to the children, so you can handle your data. Read about the Render Props pattern.

Highlights

  • :okhand: Dependency free
  • :electricplug: Plug and play
  • :crystalball: Tree shaking friendly (ESM, no side effects)
  • :package: Super tiny (~3kb)
  • :books: Well documented
  • :beers: Bunch of awesome utilities

See quick examples
import { State, Toggle } from 'react-powerplug'
import { Pagination, Tabs, Checkbox } from './MyDumbComponents'

<State initial={{ offset: 0, limit: 10, totalCount: 200 }}>
  {({ state, setState }) => (
    <Pagination {...state} onChange={(offset) => setState({ offset })} />
  )}
</State>

<Toggle initial={true}>
  {({ on, toggle }) => (
    <Checkbox checked={on} onChange={toggle} />
  )}
</Toggle>

// You can also use a `render` prop instead

<Toggle
  initial={false}
  render={({ on, toggle }) => (
    <Checkbox checked={on} onChange={toggle} />
  )}
/>

Guide & Documentation

http://rena.to/react-powerplug/

<img src="https://user-images.githubusercontent.com/3277185/37249517-cde30352-24c7-11e8-8f3a-614e2162784d.png" alt="Watch 'Rapid Prototyping with React PowerPlug' by Andrew Del Prete on egghead.io" />


Install

Node Module

yarn add react-powerplug

npm i react-powerplug

UMD

<script src="https://unpkg.com/react-powerplug/dist/react-powerplug.min.js"></script>

exposed as ReactPowerPlug
Contributors
Thanks goes to these wonderful people (emoji key):

|
Renato Ribeiro

💻 🎨 📖 ⚠️ |
Bogdan Chadkin

💻 📖 ⚠️ 🚇") |
Travis Arnold

💻 📖 🐛 |
Max Graey

💻 |
Mateusz Burzyński

🐛 |
Andy Edwards

💻 |
Andrea Vanini

🐛 | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | |
Ivan Starkov

🐛 |
Sean Roberts

📖 |
Braden Kelley

🐛 |

This project follows the all-contributors specification. Contributions of any kind welcome!
Contribute
You can help improving this project sending PRs and helping with issues.
Also you can ping me at Twitter