React Purely Stateful
If you prefer to write functional components, but have a need to manage a small amount of state, but don't want to go through all the boilerplate of Redux (or your external statment management library of choice), then the stateful
higher-order component is just what you're after.
Inspired by the React Redux bindings, stateful
allows you to seperate the state and view into container and presentational components so you can enjoy all the simplicity of functional components, with the addition of some stateful behaviour.
This is ideal for those small pieces of state that don't belong with your application state, such as temporary text in an input
, the open state of a menu, the currently selected tab, or many other things that only the single component cares about. Redux (or your external statment management library of choice) is still recommended for any application state you want to store.
Installation
NPM
npm install --save react-purely-stateful
This assumes that you’re using npm package manager with a module bundler like Webpack or Browserify to consume CommonJS modules.
Usage
Basic
import stateful from 'react-purely-stateful'
const MyComponent = ({text, setText}) => {
return <input value={text} onChange={(e) => setText(e.target.value)} />
}
export default stateful({ text: "initial value" })(MyComponent)
More advanced examples can be found here.
Documentation