Files
stateful/README.md
2019-03-27 16:34:14 +08:00

1.1 KiB

@zhigang1992/stateful

Stateful Wrapper for not having to write react classes

NPM JavaScript Style Guide

Install

npm install --save @zhigang1992/stateful

Usage

import React, { Component, Fragment } from 'react'

import Stateful, {Onmount} from '@zhigang1992/stateful'

export default () => (
  <Stateful state={{count: 0, seconds: 0}}>
    {({ state, setState, getState }) => (
      <Fragment>
        <p>Clicked {state.count} times</p>
        <button onClick={() => setState({ count: state.count + 1 })}>
          Click me
        </button>
        <p>{state.seconds} seconds passed</p>
        <Onmount>{() => {
          // You can do stuff like firing a network request in here
          window.setInterval(() => {
            setState({seconds: getState().seconds + 1})
          }, 1000)
        }}</Onmount>
      </Fragment>
    )}
  </Stateful>
)

License

MIT © zhigang1992