1.0.2 • Published 6 years ago

react-to-component v1.0.2

Weekly downloads
3
License
MIT
Repository
github
Last release
6 years ago

react-to-component

Travis npm package Coveralls semantic-release

:rocket: Blazing fast and tiny library that enables you to create react components (componentify) imperative or functional apis.

Install

yarn add react-to-component

Aims to be:

  • :rocket: Blazing fast
  • ➿Defensive code friendly
  • :rage2: Async first
  • 🔧 Memory leak safe
  • :ring: Test friendly

A quick example

<ToComponent original={oldLegacyCodeApi} params={[1, 2, 3]}>
  {({ loading, error, data }) =>
    loading ? "Loading" : error ? "Oops, error" : JSON.stringify(data)
  }
</ToComponent>

Live examples

  • Async example

    Edit react-to-component async example

Configuration

PropRequiredDefaultTypeDescription
original✔️✖️(...params: P[]) => Promise<T> or TThe original function to be encapsulated
params✔️✖️P[]The params that will be used in the function invocation
children✔️✖️({ data: T or null, error: Error or null, loading: boolean }) => JSX.Element or JSX.Element[] or nullThe render prop that controls you data flow
parametersDidChange✖️Params equality(previousParams: P[], nextParams: P[]) => booleanAbility to supply a custom check for parameter equality, use this if for example you need to ignore some parameters for caching purposes