Skip to content

Commit 02b09d1

Browse files
committed
Delete inner state
1 parent d2d3a60 commit 02b09d1

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

example/MultiSelect/MultiSelect.tsx

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,17 @@ const items: Item[] = [
5050

5151
export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
5252
const [inputValue, setInputValue] = useState<string>('');
53-
const [selectedOptions, setSelected] = useState<Item[]>(values);
53+
// const [selectedOptions, setSelected] = useState<Item[]>(values);
5454
const [isFocused, setFocused] = useState<Boolean>(false);
5555

5656
const handleSelect = (item: Item) => {
5757
let newOptions = [];
58-
if (selectedOptions.some((el) => el.value === item.value)) {
59-
newOptions = selectedOptions.filter((el) => el.value !== item.value);
58+
if (values.some((el) => el.value === item.value)) {
59+
newOptions = values.filter((el) => el.value !== item.value);
6060
} else {
61-
newOptions = [...selectedOptions, item];
61+
newOptions = [...values, item];
6262
}
6363

64-
setSelected(newOptions);
6564
onSelect(newOptions);
6665
};
6766

@@ -95,8 +94,7 @@ export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
9594

9695
const handleCloseClick = (item: Item) => (event) => {
9796
event.stopPropagation();
98-
const newArr = selectedOptions.filter((el) => el.value !== item.value);
99-
setSelected(newArr);
97+
const newArr = values.filter((el) => el.value !== item.value);
10098
onSelect(newArr);
10199
};
102100

@@ -117,9 +115,9 @@ export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
117115
onFocus={handleFocus}
118116
onBlur={handleBlur}
119117
>
120-
{selectedOptions.length === 0
118+
{values.length === 0
121119
? null
122-
: selectedOptions.map((item: Item) => {
120+
: values.map((item: Item) => {
123121
return (
124122
<div className="multivalue" key={item.value}>
125123
<span className="multivalue-name">{item.name}</span>
@@ -155,7 +153,7 @@ export const Dropdown: React.FC<Props> = ({ onSelect, values }) => {
155153
key={item.value}
156154
className={classNames('item', {
157155
active: highlightedIndex === index,
158-
selected: selectedOptions.some((el) => el.value === item.value),
156+
selected: values.some((el) => el.value === item.value),
159157
})}
160158
{...getItemProps(item, index)}
161159
>

0 commit comments

Comments
 (0)