Giter VIP home page Giter VIP logo

flowr's Introduction

Flowr

Build Status npm version npm downloads

Flowr provides a set of useful React components for controlling your render flow.

Installation

To add flowr to your application dependencies you just need to run:

npm install flowr -S

This will download flowr into your node_modules folder and then you can import any flowr component into your modules.

import { Maybe, Either, Await } from 'flowr'
// ...

Flowr is tree-shaking friendly. As long as you are using ES6 modules, your bundle will contain only the required flowr components. Read more about tree shaking

There are two categories of Components available: Conditionals and Schedulers

Read the docs

Conditionals

Name Props Description
Maybe when Renders it's children only if when is true
Either when If when is true it renders the first child, otherwise it renders the second
Flip when Flips the order of the first two children
Reverse when Reverses the order of all its children
Order sort Re-orders the children in the order provided through sort
One at Renders only the child at the specified index
Some at Renders only the children at the specified indices if they exist
Constant * Will render only once, never updating the state of it's children (shouldComponentUpdate -> false)
Pure * Will re-render only when the passed props have changed (PureComponent)
Just * Just renders it's children, nothing special, good for dynamic rendering
Nothing * Renders nothing

Schedulers

Name Props Description
Await for, tap, onPromise Renders it's children when and only if the provided promise resolves. When used with a render prop, it will always apply the promise result (err, res) to the callback. It also accepts a function that returns a Promise
Stream * Render-prop component that enables working with props streams
Debounce time, immediate Renders it's children only after a certain amount of time has passed since the previous render.
Delay time Renders it's children only after a certain amount of time has passed
Throttle time Renders it's children at most once in the specified time interval.

flowr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

michaelstern336

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.