React API Reference
createAttributeComponent
This function defines an attribute component for later use within the <BuilderEntityAttributes />
component.
The function is not just a type safety helper compared to createEntityComponent, because it consumes data from an internal context behind the scenes.
Reference
createAttributeComponent(attribute, render)
Use the createAttributeComponent
function to define the editor component for your attribute:
import { createAttributeComponent } from "@coltorapps/builder-react";
import { labelAttribute } from "./label-attribute";
export const LabelAttribute = createAttributeComponent(
labelAttribute,
(props) => {
const id = `${props.entity.id}-${props.attribute.name}`;
return (
<div>
<label htmlFor={id}>Field Label</label>
<input
id={id}
name={id}
value={props.attribute.value ?? ""}
onChange={(e) => props.setValue(e.target.value)}
required
/>
{/* Normally, you'll handle your own error types. */}
{typeof props.attribute.error === "string"
? props.attribute.error
: null}
</div>
);
},
);
Parameters
createAttributeComponent
accepts two parameters:
Parameter | Type | Description |
---|---|---|
attribute | object | The attribute definition. |
render | function | The render function of the component, which receives the attribute and arbitrary entity instance, along with a set of methods to interact with the builder store. |
Returns
The createAttributeComponent
function essentially creates a React component to be used within the <BuilderEntityAttributes />
component.