Skip to content

Interface: BaseActorProviderProps<TRegistry, TActor>

API / @xmachines/play-view / index / BaseActorProviderProps

Defined in: packages/play-view/src/view-types.ts:164

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, ViewActor } from "@xmachines/play-view";
import type { DefineRegistryResult } from "@xmachines/json-render-react";
interface ActorProviderProps extends BaseActorProviderProps<DefineRegistryResult> {
fallback?: React.ReactNode;
children: React.ReactNode;
}

Extended by

Type Parameters

Type ParameterDefault typeDescription
TRegistry extends object-The DefineRegistryResult type of the framework.
TActor extends ViewActorViewActor-

Properties

PropertyTypeDescriptionDefined in
actorTActorThe actor instance with the currentView atom. It requires the Viewable capability.packages/play-view/src/view-types.ts:169
onRenderError?RenderErrorHandlerThe provider calls it when one catalog component throws during a render. This handler replaces every onRenderError of defineRegistry.packages/play-view/src/view-types.ts:183
registryResultTRegistryThe complete result of defineRegistry(). It holds the component registry and the factory of the action handlers.packages/play-view/src/view-types.ts:171
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-view/src/view-types.ts:178