react-flow-types

0.2.0-beta.6 • Public • Published

react-flow-types

Build Status npm downloads License Gitter

Note

Most of the types that used to be in this package now have equivalents in flow@0.53, so I'm deprecating them. The most important type that still remains is HigherOrderComponent. If you come up with more useful types for react, feel free to submit a PR :)

Usage

$ npm install --save-dev react-flow-types

HigherOrderComponent<RequiredProps, ProvidedProps>

The generic type of a higher-order component. A HigherOrderComponent always provides a set of props to the inner component, and requires another set of props to be passed to it.

Example:

import type {HigherOrderComponent} from 'react-flow-types'
 
type RequiredProps = {
  name: string,
}
 
type ProvidedProps = {
  input: {
    value: mixed,
    onChange: Function,
  },
}
 
// The hoc:
const asField = (): HigherOrderComponent<RequiredProps, ProvidedProps> => (component): any => {
  const FinalComponent = ({name, ...rest}) =>
    <ReduxFormField name={name} component={component} props={rest} />;
 
  hoistNonReactStatics(FinalComponent, component)
 
  FinalComponent.displayName =
    `asField(${component.displayName || component.name || 'Component'})`
 
  return FinalComponent
}
 
const Input = ({input}) => <input type="text" {...input} />
const WrapperInput = asField(Input)
 
const element = <WrappedInput name="email" />

Readme

Keywords

none

Package Sidebar

Install

npm i react-flow-types

Weekly Downloads

226

Version

0.2.0-beta.6

License

MIT

Last publish

Collaborators

  • ariaminaei