@dabapps/react-set-props
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

react-set-props

Build Status

Store arbitrary state in redux with a similar API to setState

Installation

npm install @dabapps/react-set-props --save --save-exact

Usage

TypeScript

Connecting your component

import { withSetProps, SetPropsInterface } from '@dabapps/react-set-props';

interface ExternalProps {
  buttonText: string;
}

interface Props {
  count: number;
}

const MyComponent = ({buttonText, count, setProps}: ExternalProps & SetPropsInterface<Props>) => (
  <p>
    Count: {count}
    <button onClick={() => setProps({count: count + 1})}>
      {buttonText}
    </button>
  </p>
);

const getInitialProps = (props: ExternalProps) => ({
  count: 0
});

export default withSetProps<Props, ExternalProps>(getInitialProps)(MyComponent);

Props reducer

import { setPropsReducer } from '@dabapps/react-set-props';

combineReducers({
  setPropsReducer
});

Javascript

Connecting your component

import { withSetProps } from '@dabapps/react-set-props';

const MyComponent = ({buttonText, count, setProps}) => (
  <p>
    Count: {count}
    <button onClick={() => setProps({count: count + 1})}>
      {buttonText}
    </button>
  </p>
);

const getInitialProps = (props) => ({
  count: 0
});

export default withSetProps(getInitialProps)(MyComponent);

Props reducer

import { setPropsReducer } from '@dabapps/react-set-props';

combineReducers({
  setPropsReducer
});

Readme

Keywords

Package Sidebar

Install

npm i @dabapps/react-set-props

Weekly Downloads

5

Version

1.2.0

License

MIT

Unpacked Size

87.1 kB

Total Files

24

Last publish

Collaborators

  • dabapps