0.3.1 • Published 3 years ago
react-shared-state v0.3.1
React Shared State
React Shared State
Very simple shared state for your react app.
import React from 'react'
import { createProvider, SharedStore } from 'react-shared-state'
class NameStore extends SharedStore {
setName = (newName) => this.setState({name: newName})
}
const NameProvider = createProvider(NameStore)
const HelloComponent = (props) => {
return <div>
<h1> Hello, {props.name} </h1>
<button onClick={() => props.store.setName('Luke Skywalker')}>Set Name</button>
</div>
}
const Hello = NameProvider.connect((store) => ({
name: store.state.name,
store: store
}))(HelloComponent)
export function App() {
return (
<NameProvider initialState={{ name: 'Anonymous' }}>
<Hello />
</NameProvider>
)
}
Install
yarn add react-shared-state
ornpm install react-shared-state
Quickstart
https://soofty.gitbook.io/react-shared-state/quickstart
Documentation
https://soofty.gitbook.io/react-shared-state/documentation
Live example
https://codesandbox.io/s/wy308n0k88
0.1.x => 0.2.x migration guide
- mapStateToProps now accepts
store
instead ofstore.state
as first argument connect
no longer passesstore
by it's name to a component- Preferable way to use connect is
YourProvider.connect
instead of building custom function - Changed Typescript's generics order from TOuterProps, TInnerProps to TInnerProps, TOuterProps (recompose format)
0.2.x => 0.3.x migration guide
getProvider replaced with createProvider(StoreClass?: class, storeId?: string)
0.3.1
3 years ago
0.3.0
6 years ago
0.2.8
6 years ago
0.2.6
6 years ago
0.2.5
6 years ago
0.2.4
6 years ago
0.2.3
6 years ago
0.2.2
6 years ago
0.2.1
6 years ago
0.2.0
6 years ago
0.1.13
6 years ago
0.1.12
6 years ago
0.1.11
6 years ago
0.1.10
6 years ago
0.1.9
6 years ago
0.1.8
6 years ago
0.1.7
6 years ago
0.1.6
6 years ago
0.1.5
6 years ago
0.1.4
7 years ago
0.1.3
7 years ago
0.1.2
7 years ago
0.1.1
7 years ago
0.1.0
7 years ago