diff --git a/packages/ui-drilldown/src/Drilldown/DrilldownPage/props.ts b/packages/ui-drilldown/src/Drilldown/DrilldownPage/props.ts index 74949039c4..ddfba4e98e 100644 --- a/packages/ui-drilldown/src/Drilldown/DrilldownPage/props.ts +++ b/packages/ui-drilldown/src/Drilldown/DrilldownPage/props.ts @@ -39,7 +39,7 @@ import DrilldownSeparator from '../DrilldownSeparator' import type { OptionChild, SeparatorChild, GroupChild } from '../props' import { Renderable } from '@instructure/shared-types' -type PageChildren = GroupChild | OptionChild | SeparatorChild +type PageChildren = GroupChild | OptionChild | SeparatorChild | null | false type DrilldownPageOwnProps = { id: string diff --git a/packages/ui-drilldown/src/Drilldown/index.tsx b/packages/ui-drilldown/src/Drilldown/index.tsx index 0ca2bb1e92..c64b43e38f 100644 --- a/packages/ui-drilldown/src/Drilldown/index.tsx +++ b/packages/ui-drilldown/src/Drilldown/index.tsx @@ -528,15 +528,17 @@ class Drilldown extends Component { const childMap = new Map() for (const child of children) { - if (!childMap.has(child.props.id)) { - childMap.set(child.props.id, true) - } else { - warn( - false, - `Duplicate id: "${child.props.id}"! Make sure all options have unique ids, otherwise they won't be rendered.` - ) + if (child && typeof child === 'object' && child.props?.id) { + if (!childMap.has(child.props.id)) { + childMap.set(child.props.id, true) + } else { + warn( + false, + `Duplicate id: "${child.props.id}"! Make sure all options have unique ids, otherwise they won't be rendered.` + ) - return (containsDuplicate = true) + return (containsDuplicate = true) + } } }