useRepeaterField
Reads the raw values of all items of a repeater
field.
function useRepeaterField<T extends Record<string, unknown>>(props: {field: string}): T[]
tip
To render the items of a repeater, use the Repeater component instead. Within
each item, it allows reading the item's fields using the field hooks, including metrics.
Arguments
| Property | Type | Description |
|---|---|---|
| field | string | The name of the field. |
Returns
An array with one object per item. Each object contains the raw values of the item's fields by their name. Fields
without a value may be missing. An empty array if the repeater has no items.
Example
src/widgets/example/Example.tsx
import React from 'react'
import {useRepeaterField} from '@modbros/dashboard-sdk'
type ExampleRepeaterItem = {
title?: string
limit?: number
}
export default function Example() {
const items = useRepeaterField<ExampleRepeaterItem>({field: 'example'})
return (
<ul>
{items.map((item, index) => (
<li key={index}>
{item.title}: {item.limit}
</li>
))}
</ul>
)
}
Declare the item with type instead of interface: interfaces don't satisfy the Record<string, unknown> constraint.