169 похожих чатов

Привет, использую useState<RolePermissions[]>(new Set()) и для добавления массива делаю setRolePermissions((previousState) =>

new Set([...previousState, arr]));
но ничего не получается , можете подсказать как я могу это реализовать ?

18 ответов

22 просмотра

А зачем в initial state new Set передавать ?

Jasmin-/ Автор вопроса
Jasmin-/ Автор вопроса

сорри , неправильно выразилась , пытаюсь создать коллекцию без дублирующих значении

Не туда

Jasmin /
когда делаю так выходят ошибки

Так ты стейт не до конца затипизировала, у тебя ведь может быть кейс когда у тебя один элемент ещё а ты заьипизировала как массив и все , а другие варианты не учла

Jasmin-/ Автор вопроса
Jasmin /
дело в том что он всегда будет массивом ,

Да , но там ведь может быть один объект?

Jasmin-/ Автор вопроса
Jasmin /
тогда как я могу затипизировать его?

Я бы попробовал для начала в начальное состояние передать пустой массив. А затипизировать RolePermisoons | RolePermissions[] | []

Александр Малыхин
Да , но там ведь может быть один объект?

А чем массив с одним элементом не массив? Совет ниже выглядит как вредный Выше верно писали, что Set от списка отличается довольно фундаментально, и эти типы не смешиваются.

Вот здесь вы говорите, что тип стейта - массив, а в начальное состояние передаёте Set, который массивом не является. Если там нужен Set, то и укажите везде его, без массива. Например, так: `useState<Set<RolePermissions>>(new Set())

Jasmin-/ Автор вопроса

ну я пробовала вывести в консоль и там отображаются изменения сета

может быть причина в forEach

Jasmin /
ну я пробовала вывести в консоль и там отображаютс...

А консоль более реактивна) Например, вот тут я могу видеть мой элемент в объекте, выведенном до того, как я этот элемент добавил

Jasmin-/ Автор вопроса
Хракс Мамцов
может быть причина в forEach

дело в том что set перебирается с for и forEach . с map не смогла сделать

Хракс Мамцов
может быть причина в forEach

Кстати да, в коллбеке функция, которая ничего не делает

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта