# unstated-solid **Repository Path**: ttoa/unstated-solid ## Basic Information - **Project Name**: unstated-solid - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-09 - **Last Updated**: 2021-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

English | 中文 |
(Please contribute translations!)

# Unstated Solide > 仅仅 200 字节的状态管理解决方案。 - 和 `unstated-next` 一样 ## 安装 ```sh npm install --save unstated-solid ``` ## Example ```js import { createSignal } from "solid-js"; import { createContainer } from "unstated-solid" function useCounter(initialState = 0) { let [count, setCount] = createSignal(initialState) let decrement = () => setCount(count() - 1) let increment = () => setCount(count() + 1) return { count, decrement, increment } } let Counter = createContainer(useCounter) function CounterDisplay() { let counter = Counter.useContainer() return (
{counter.count}
) } function App() { return (
) } render(, document.getElementById("root")) ``` ## API ### `createContainer(useHook)` ```js import { createContainer } from "unstated-solid" function useCustomHook() { let [value, setValue] = createSignal() let onChange = e => setValue(e.currentTarget.value) return { value, onChange } } let Container = createContainer(useCustomHook) // Container === { Provider, useContainer } ``` ### `` ```js function ParentComponent() { return ( ) } ``` ### `` ```js function useCustomHook(initialState = "") { let [value, setValue] = createSignal(initialState) // ... } function ParentComponent() { return ( ) } ``` ### `Container.useContainer()` ```js function ChildComponent() { let input = Container.useContainer() return } ``` ### `useContainer(Container)` ```js import { useContainer } from "unstated-solid" function ChildComponent() { let input = useContainer(Container) return } ```