useFieldValue

A hook that gets the value of a field of the current record. It gets the current record from the context or use the one provided as a prop. It supports deep sources such as name.fr.

Usage

Here is an example TextField component:

// In TextField.tsx
import * as React from 'react';
import { useFieldValue, type FieldProps } from 'react-admin';
export const TextField = (props: FieldProps) => {
 const value = useFieldValue(props);
 return <span>{value}</span>;
}
// In PostShow.tsx
import { Show, SimpleShowLayout } from 'react-admin';
import { TextField } from './TextField.tsx';
export const PostShow = () => (
 <Show>
 <SimpleShowLayout>
 <TextField source="author.name" label="Author" />
 </SimpleShowLayout>
 </Show>
);

Params

source

The name of the property on the record object that contains the value to display. Can be a deep path.

import * as React from 'react';
import { useFieldValue } from 'react-admin';
export const CustomerCard = () => {
 const firstName = useFieldValue({ source: 'firstName' });
 const lastName = useFieldValue({ source: 'lastName' });
 return <span>{lastName} {firstName}</span>;
}

record

The record from which to read the value. Read from the RecordContext by default.

import * as React from 'react';
import { useFieldValue, useGetOne } from 'react-admin';
export const CustomerCard = ({ id }: { id: string }) => {
 const { data } = useGetOne('customer', { id });
 const firstName = useFieldValue({ source: 'firstName', record: data });
 const lastName = useFieldValue({ source: 'lastName', record: data });
 return <span>{lastName} {firstName}</span>;
}

defaultValue

The value to return when the record does not have a value for the specified source.

import * as React from 'react';
import { useFieldValue } from 'react-admin';
export const CustomerStatus = () => {
 const status = useFieldValue({ source: 'status', defaultValue: 'active' });
 return <span>{status}</span>;
}

AltStyle によって変換されたページ (->オリジナル) /