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

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

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

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

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

27 ответов

14 просмотров

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта