Skip to content

Function: useBoundProp()

API / @xmachines/play-react / useBoundProp

function useBoundProp<T>(propValue, bindingPath): [T | undefined, (value) => void];

Defined in: @json-render/react

Hook for two-way bound props. Returns [value, setValue] where:

  • value is the already-resolved prop value (passed through from render props)
  • setValue writes back to the bound state path (no-op if not bound)

Designed to work with the bindings map that the renderer provides when a prop uses { $bindState: "/path" } or { $bindItem: "field" }.

Type Parameters

Type Parameter
T

Parameters

ParameterType
propValueT | undefined
bindingPathstring | undefined

Returns

[T | undefined, (value) => void]

Example

import { useBoundProp } from "@json-render/react";
const Input: ComponentRenderer = ({ props, bindings }) => {
const [value, setValue] = useBoundProp<string>(props.value, bindings?.value);
return <input value={value ?? ""} onChange={(e) => setValue(e.target.value)} />;
};