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

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

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

18 ответов

8 просмотров

А зачем в 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

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

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

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

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
А что ты вообще делаешь ?
Yesgoter
13
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
18
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
А какие у этого try практические плюсы перед eval?
Oleg Volkov
41
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Карта сайта