Question: In order to retrieve the equipment type I am using a that will retrieve the equipment model and then another that references the equipment type using the equipment model's field "typeID" to retrieve the equipment type.

However it displays the following warning:

> 
> Warning: Failed prop type: Invalid prop translateChoice of type
>  boolean supplied to ReferenceField, expected function.
> 
> 
> 

The image represents the data model (an equipment has an equipment model, and an equipment model has an equipment type)

[![enter image description here](https://i.stack.imgur.com/XV4Q6.png)](https://i.stack.imgur.com/XV4Q6.png)

Answer: 
Not a perfect fix, but to get around the `translateChoice` issue, you can create a wrapper and pluck out that prop to prevent it from being passed.

```js
const SubReference = ({ translateChoice, children, ...props }) => (
    <ReferenceField {...props}>{children}</ReferenceField>
);

```

While troubleshooting this, I was also receiving an error about nested `a` tags. I was able to silence the error by setting the `linkType` prop to `false` in the parent `ReferenceField`

```js
<ReferenceField source="item_id" reference="list" linkType={false}>
    <SubReference source="id_to_reference_from_list" reference="second_list">
        <TextField source="name" />
    </SubReference>
</ReferenceField>

```
I have the same problem and I think this is an actual bug. I commented on the corresponding github issue <https://github.com/marmelab/react-admin/issues/2140>

I looked into the code for `ReferenceField` and as far as I understood this is an actual bug. `ReferenceField` expects a function for the `translateChoice` property, but internally hands a boolean to `ReferenceFieldView`.
If you nest one `ReferenceField` into another the inner one receives `false` as `translateChoice` property and rightfully complains that it is a boolean and not a function.