@evilfactory/global-state
Install
$ yarn add -E @evilfactory/global-state
$ npm i @evilfactory/global-state
Features
- [x] Zero configuration
✅ . - [x] React hooks based API
✅ . - [x] React Native supported
✅ . - [x] Global State & shareable
✅ . - [ ] Redux Dev Tools supported
🙏 .
API
Table of Contents
StateProvider
as Wrapper of your React
Application.
Parameters
-
props
Objectprops.reducer
props.initialState
props.children
Properties
-
reducer
Function | useReducer -
initialState
Object -
children
Element | createElement
Examples
Example Use of <StateProvider/>
.
import React, {useReducer} from 'react'
import App from './you-app.js'
import {StateProvider} from 'evilfactorylabs/global-state'
const initialState = { todo: [] }
const reducer = useReducer(state, action)
ReactDOM.render(
<StateProvider reducer={reducer} initialState={initialState}>
<App/>
</StateProvider>
, document.getElementById('root'))
useGlobalState
Parameters
-
newAction
Function? [optional]
Examples
import {useGlobalState} from '@evilfactorylabs/global-state'
...
const createTodo = (state, action, todo) => {
return action({
type: 'ADD_TODO',
data: todo,
})
}
const [,addTodo] = useGlobalState(createTodo)
addTodo({title: 'New Task'})
...