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

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

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

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

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

27 ответов

13 просмотров

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

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта