diff --git a/packages/ra-core/src/controller/list/useListController.ts b/packages/ra-core/src/controller/list/useListController.ts index fbc04826645..2c9a1294bb9 100644 --- a/packages/ra-core/src/controller/list/useListController.ts +++ b/packages/ra-core/src/controller/list/useListController.ts @@ -56,7 +56,11 @@ export const useListController = ( `useListController requires a non-empty resource prop or context` ); } - if (filter && isValidElement(filter)) { + if ( + filter && + (isValidElement(filter) || + (Array.isArray(filter) && filter.some(isValidElement))) + ) { throw new Error( 'useListController received a React element as `filter` props. If you intended to set the list filter elements, use the `filters` (with an s) prop instead. The `filter` prop is internal and should not be set by the developer.' );