context-factory
v1.0.2
Published
A tiny type-safe state management utility for React using Context API
Downloads
198
Readme
Context Factory
Type-safe factory for creating React Context stores with Provider and hook pairs.
Installation
# npm
npm install context-factory
# yarn
yarn add context-factory
# pnpm
pnpm add context-factoryUsage
Create a store
import { createStore } from "context-factory"
const { UserProvider, useUser } = createStore(
"User",
({ userId }: { userId: string }) => {
return {
id: userId,
isAdmin: userId === "admin",
}
}
)Provide the store
function App() {
return (
<UserProvider userId="123">
<Profile />
</UserProvider>
)
}Consume the store
function Profile() {
const user = useUser()
return <div>{user.id}</div>
}API
createStore(name, hook)
Creates a React Context store.
Parameters
name
name: Capitalize<string>Store name used to generate:
${name}Provideruse${name}
Example:
createStore("User", ...)Produces:
UserProvider
useUserhook
(params: StoreParameters) => StoreDataA hook or factory function that returns the store value.
Example:
({ id }: { id: string }) => ({
id,
})Return Value
const {
UserProvider,
useUser,
} = createStore(...)Generated types:
{
UserProvider: ComponentType<PropsWithChildren<StoreParameters>>
useUser: () => StoreData
}