Skip to content

Interface: BaseActorProviderProps<TRegistry>

API / @xmachines/play-actor / BaseActorProviderProps

Defined in: packages/play-actor/src/abstract-actor.ts:159

The framework-agnostic base props. Every ActorProvider implementation shares them: React, Vue, Solid, and Svelte. TRegistry holds the DefineRegistryResult type of the framework. RenderErrorHandler comes from @xmachines/json-render-core, and a second generic parameter is therefore not necessary.

Each framework package extends this interface with its fallback field, its onError field, and its children field.

Example

import type { BaseActorProviderProps } from "@xmachines/play-actor";
import type { DefineRegistryResult } from "@xmachines/json-render-react";
interface ActorProviderProps extends BaseActorProviderProps<DefineRegistryResult> {
fallback?: React.ReactNode;
children: React.ReactNode;
}

Extended by

Type Parameters

Type ParameterDescription
TRegistry extends objectThe DefineRegistryResult type of the framework.

Properties

PropertyTypeDescriptionDefined in
actorAbstractActor<AnyActorLogic, EventObject> & ViewableThe actor instance with the currentView signal. It requires the Viewable capability.packages/play-actor/src/abstract-actor.ts:163
onRenderError?RenderErrorHandlerThe provider calls it when one catalog component throws during a render. This handler replaces every onRenderError of defineRegistry.packages/play-actor/src/abstract-actor.ts:177
registryResultTRegistryThe complete result of defineRegistry(). It holds the component registry and the factory of the action handlers.packages/play-actor/src/abstract-actor.ts:165
store?StateStoreThe optional external StateStore, which is the controlled mode. With this option, the provider ignores spec.state, and this store is the single source of truth. Without it, the provider makes a new @xstate/store atom for each view transition, with the values of spec.state.packages/play-actor/src/abstract-actor.ts:172