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

Подскажите, пожалуйста, как будет правильнее делать. Есть у меня объект в

свойствах класса такого плана
obj = {
key1: false,
key2: false,
key3: false
...
}

И вот при кликах на кнопки false меняется на true и обратно. Нормально ли просто делать мутацию obj.key2 = !obj.key2 ?
Или правильнее сделать копию объекта, ее изменить и потом переприсвоить, чтобы объект по ссылке полностью обновился?

newObj = {...obj}
newObj.key2 = !newObj.key2
obj = newObj

27 ответов

5 просмотров

Зависит от задачи. В вашем случае, как мне кажется, норм будет

Oleksandr 🤖- Автор вопроса
Raman Yazvinski
Зависит от задачи. В вашем случае, как мне кажется...

каждый кей со значением потом передается в пропсах в свой дочерный компонент и там зависимо от значения (true или false) он меняется (текст превращается в инпут)

Oleksandr 🤖
каждый кей со значением потом передается в пропсах...

Норм, правда, думаю, ваш объект можно было бы разложить на поля в компоненте

Oleksandr 🤖- Автор вопроса
Raman Yazvinski
Норм, правда, думаю, ваш объект можно было бы разл...

в смысле в дочерной разложить? чтобы в родителе не хранить?

Oleksandr 🤖
в смысле в дочерной разложить? чтобы в родителе не...

public config: {key1: boolean, key2: boolean ....} => public key1: boolean; public key2: boolean; ...

избегай мутаций всегда. используй спред и в нем можешь указать свойство obj = {...obj, key: !obj.key} как-то так

Oleksandr 🤖- Автор вопроса
Oleksandr 🤖
ок(( спасибо. С ними проще писать)

еще лучше пометить свойства интерфейса readonly или сделать obj:Readonly<Obj> = ...

Oleksandr 🤖- Автор вопроса
Oleksandr 🤖
то еще больше усложнит читаемость((

это альтернатива. дай реальный пример как создается obj

Oleksandr 🤖
то еще больше усложнит читаемость((

вот тут у меня немного написано https://github.com/evoytenkoapps/angular-best-practices#typescript

Oleksandr 🤖- Автор вопроса
Евгений Гений
вот тут у меня немного написано https://github.com...

да, эту ссылку ссылку я себе на днях сохранил)) но никак не дочитаю...

Oleksandr 🤖
да, эту ссылку ссылку я себе на днях сохранил)) но...

readonly Readonly спред - это все отличная защита от "Дурака"

Oleksandr 🤖- Автор вопроса
Евгений Гений
readonly Readonly спред - это все отличная защита ...

учту. Я слышал, что используют readonly, но у самого как-то руки не доходят еще и это указывать...

Oleksandr 🤖
учту. Я слышал, что используют readonly, но у само...

эти вещи сильно помогают при стратегии onPush , с ними она работает корректней. меньше багов будет, что где-то что-то не обновилось.

Oleksandr 🤖- Автор вопроса
Евгений Гений
эти вещи сильно помогают при стратегии onPush , с ...

а... ну с onPush бывали баги. Так намучился)) что теперь только в очень простых компонентах прописываю

Oleksandr 🤖
а... ну с onPush бывали баги. Так намучился)) что ...

надо наоборот- писать его везде и всегда. даже можно по умолчанию встроить в ангуляр.джсон у меня написано

Евгений Гений
избегай мутаций всегда. используй спред и в нем мо...

имхо, в этом случае это оверхед. Это хорошая практика в 99%, но здесь просто объект с флажками, уникальный случай

Oleksandr 🤖
учту. Я слышал, что используют readonly, но у само...

вот очередной перл с rxjs с моего проекта, т.к сказать в студию. что тут не так? map((data) => { if (data) { data = this.buildApiVersionsTree(data); } return data; }),

Oleksandr 🤖- Автор вопроса
Евгений Гений
вот очередной перл с rxjs с моего проекта, т.к ска...

ну здесь как-то интересно написано, вроде) data = this.buildApiVersionsTree(data); что дату и в параметр функци и присвоили самой дате... а может это и нормально, просто так никогда не делал

Oleksandr 🤖
ну здесь как-то интересно написано, вроде) data = ...

тут по идее выше меняется ссылка data. что не есть хорошо. правильней как-то так map((data) => data ? this.buildApiVersionsTree(data): data)

marryday Run
screenshot привет, а это что ?

привет. у нас это декоратор сторы NGXS. указал по своему проекту. если смущает уберу

Евгений Гений
привет. у нас это декоратор сторы NGXS. указал по ...

не хочу на себя такую отвественность брать) но можно написать наверное что это из ngxs как ты выше сделал

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

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

Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Есть тут те у кого дети есть + 2 работы + в зал ходят + в семейной жизни все хорошо?
Abdul-Aziz M.
13
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
кто шарит: mattermost отслеживает что ты на пк запускаешь?
Valentin
13
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
Всем привет! Стоит задачка, выбрать из выпадающего списка конкретный цвет. Пока реализовал через активацию контрола списка и выбора несколькими нажатиями стрелки вправо до нуж...
Роман.С
9
Карта сайта