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

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

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

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

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

27 ответов

11 просмотров

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

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 как ты выше сделал

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
как быть с принтером? такой подход прокатит?
zamtmn
12
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Карта сайта