본문으로 건너뛰기

함수: useCreateStore()

호출 시그니처

function useCreateStore<T>(getValue): ReadonlyStore<T>;

정의 위치: preact-store/src/useCreateStore.ts:38

컴포넌트 생명 주기 동안 유지되는 안정적인 스토어 인스턴스를 생성합니다.

초기값을 전달하면 쓰기 가능한 스토어를 생성하고, getter 함수를 전달하면 읽기 전용 파생 스토어를 생성합니다. createStore를 그대로 따르지만 컴포넌트 마운트당 스토어를 한 번만 생성합니다.

타입 매개변수

T

T

매개변수

getValue

(prev?) => T

반환값

ReadonlyStore&lt;T>

예시

function Counter() {
const counterStore = useCreateStore({ count: 0 })
const count = useSelector(counterStore, (state) => state.count)
const setState = useSetValue(counterStore)

return (
<button
type="button"
onClick={() => setState((state) => ({ ...state, count: state.count + 1 }))}
>
{count}
</button>
)
}

호출 시그니처

function useCreateStore<T>(initialValue): Store<T>;

정의 위치: preact-store/src/useCreateStore.ts:41

컴포넌트 생명 주기 동안 유지되는 안정적인 스토어 인스턴스를 생성합니다.

초기값을 전달하면 쓰기 가능한 스토어를 생성하고, getter 함수를 전달하면 읽기 전용 파생 스토어를 생성합니다. createStore를 그대로 따르지만 컴포넌트 마운트당 스토어를 한 번만 생성합니다.

타입 매개변수

T

T

매개변수

initialValue

T

반환값

Store&lt;T>

예시

function Counter() {
const counterStore = useCreateStore({ count: 0 })
const count = useSelector(counterStore, (state) => state.count)
const setState = useSetValue(counterStore)

return (
<button
type="button"
onClick={() => setState((state) => ({ ...state, count: state.count + 1 }))}
>
{count}
</button>
)
}

호출 시그니처

function useCreateStore<T, TActions>(initialValue, actions): Store<T, TActions>;

정의 위치: preact-store/src/useCreateStore.ts:42

컴포넌트 생명 주기 동안 유지되는 안정적인 스토어 인스턴스를 생성합니다.

초기값을 전달하면 쓰기 가능한 스토어를 생성하고, getter 함수를 전달하면 읽기 전용 파생 스토어를 생성합니다. createStore를 그대로 따르지만 컴포넌트 마운트당 스토어를 한 번만 생성합니다.

타입 매개변수

T

T

TActions

TActions extends StoreActionMap

매개변수

initialValue

NonFunction&lt;T>

actions

StoreActionsFactory&lt;T, TActions>

반환값

Store&lt;T, TActions>

예시

function Counter() {
const counterStore = useCreateStore({ count: 0 })
const count = useSelector(counterStore, (state) => state.count)
const setState = useSetValue(counterStore)

return (
<button
type="button"
onClick={() => setState((state) => ({ ...state, count: state.count + 1 }))}
>
{count}
</button>
)
}