jsx-eslint/eslint-plugin-react

react/prop-types false positive “is missing in props validation” for extended component types

Offen

#3.159 geöffnet am 15.12.2021

 (2 Kommentare) (4 Reaktionen) (0 zugewiesene Personen)JavaScript (2.731 Forks)batch import
help wantedtypescript

Repository-Metriken

Stars
 (9.293 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

I’m building a component with antd-style subcomponent access. I.e. I want to be able to do <Columns><Columns.Block/></Columns>.

I made two attempts, both of which complained about “… is missing in props validation” once I replaced a bare FC<…> with something else:

By extending FC<…>:

const Block: FC<…> = (…) => …

export interface ColumnProps { … }
export interface ColumnsComponent extends FC<ColumnsProps> {
  Block: typeof Block
}
const Columns: ColumnsComponent = (…) => …
Columns.Block = Block

and inline:

const Block: FC<…> = (…) => …

export interface ColumnProps { … }
const Columns: FC<ColumnsProps> & { Block: typeof Block } = (…) => …
Columns.Block = Block

Contributor Guide