Issue
I have new Set and want to put it in props or in argument of function.
const [selectedIds, setSelectedIds] = React.useState(new Set([]));
How can i write types for that?
For example, I have a function, that will in arguments get new Set
const onSelect = (selectedIds // here i want to write type, it is argument from newSet) => {
const newSelectedIds = new Set(selectedIds);
if ( selectedIds.has(selectedId) ) {
newSelectedIds.delete(selectedId);
} else {
newSelectedIds.add(selectedId);
}
setSelectedIds(newSelectedIds);
};
Solution
The Set
class is generic. You can pass the type of the elements like this:
const [selectedIds, setSelectedIds] = React.useState(new Set<string>([]))
Since it's a class, it can also be used as a type:
const onSelect = (selectedIds: Set<string>) => {...}
Answered By - nullptr
Answer Checked By - - David Goodson (ReactFix Volunteer)