React API Reference
BuilderEntityComponentProps
This interface describes the props passed to a builder entity component that is rendered using data from a builder store.
Reference
BuilderEntityComponentProps<TEntity, TBuilder?>
Use the BuilderEntityComponentProps
interface to define an entity component intended for use during the schema building phase.
import {
useAttributeValue,
type BuilderEntityComponentProps,
} from "@coltorapps/builder-react";
import { textFieldEntity } from "./text-field-entity";
export function BuilderTextFieldEntity(
props: BuilderEntityComponentProps<typeof textFieldEntity>,
) {
const label = useAttributeValue(props.entity.attributes.label);
return (
<div>
<label>{label}</label>
<input />
<button
type="button"
onClick={() =>
props.entity.attributes.label.setValue(Math.random().toString())
}
>
Randomize label's value
</button>
</div>
);
}
You should know!
You can optionally provide a specific builder type as the second generic argument to BuilderEntityComponentProps
to constrain the prop types to that builder.
Props
The BuilderEntityComponentProps
interfaces has the following properties:
Prop | Type | Description |
---|---|---|
entity | object | The current builder entity instance being rendered. |
builderStore | object | The builder store associated with this entity. |
RenderChildren | function | A helper component to render all children of the current entity. Accepts optional children to wrap each rendered entity recursively. |
RenderChild | function | A helper component to render a specific child entity by the provided ID. Accepts optional children to wrap the rendered entity and its children recursively. |
You should know!
The RenderChild
component is particularly useful when you need fine-grained control over how child entities are rendered, such as when implementing virtualization. You can manually iterate over entity.children
, which is an array of IDs, and render each one using RenderChild
.