-
Notifications
You must be signed in to change notification settings - Fork 941
Labels
Description
downshiftversion:latestnodeversion:12.31.npm(oryarn) version:1.21.
Relevant code or config
interface Item = {
label: string;
value: string;
}
const [selectedItem, setSelectedItem] = React.useState<Item|null>(null);
const props = useCombobox({selectedItem});What you did:
In trying to control a Combobox by passing a null value to it, I get a TS error since the type definition of selectedItem expects either an Item or undefined. As far as I understand from reading the docs, passing an undefined value here suggests that you want to use the combobox in an uncontrolled manner, which is not what I'm after.
https://github.com/downshift-js/downshift/blob/master/typings/index.d.ts#L417
selectedItem?: Item // Null values are not allowed here, meaning you get a TS error when you try to control this prop.What happened:
Type '{ value: string; label: string; } | null' is not assignable to type 'ItemBase | undefined'.
Type 'null' is not assignable to type 'ItemBase | undefined'.ts(2322)
Reproduction repository:
https://codesandbox.io/s/unruffled-elion-1fx0s?file=/src/App.tsx
Suggested solution:
Should the type definition for selectedItem be expanded to include null types as well?
mlynarczyk