Skip to content

@sqlrooms/room-store / createRoomStoreCreator

Function: createRoomStoreCreator()

createRoomStoreCreator<RS>(): <TFactory>(stateCreatorFactory) => object

Factory to create a room store creator with custom params.

Type Parameters

Type ParameterDescription
RS extends BaseRoomStoreStateRoom state type

Returns

An object with createRoomStore(params) and useRoomStore(selector)

<TFactory>(stateCreatorFactory): object

Type Parameters

Type Parameter
TFactory extends (...args) => StateCreator<RS>

Parameters

ParameterType
stateCreatorFactoryTFactory

Returns

object

NameType
createRoomStore()(...args) => StoreApi<RS>
useRoomStore()<T>(selector) => T

Example

ts
const {createRoomStore} = createRoomStoreCreator<MyRoomState>()(
  (projectId: string) => createMyRoomState(projectId),
);
createRoomStore('project-a', {storeKey: 'project-a'});