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

Если нужно иметь возможность обновлять состояние как из вне так

и изнутри компонента, правильным ли будет прокидывать проп для обновления извне в компоненте через watch следить за пропсом и при его изменении обновлять состояние, а внутри компонента изменять состояние напрямую в ответ на событие или что-либо еще?

12 ответов

20 просмотров

Нет, такой вариант неправильный, не стоит держать 2 состояния одного и того же, вы берете на себя дополнительную ответственность за их синхронизацию, а это лишняя никому не нужная проблема Просто при изменении внутреннего состояния делать эмит и изменять в родителе будет правильнее

Sasha- Автор вопроса
Konstantin Kulebaev
Нет, такой вариант неправильный, не стоит держать ...

Вы предлагаете поднимать состояние компонента в родителя? А если это компонент библиотеки и состояние должно быть инкапсулировано?

Sasha- Автор вопроса
Konstantin Kulebaev
Нет, такой вариант неправильный, не стоит держать ...

То что вы предложили мне напоминает, как если бы водителю поставили двигатель на колени чтобы залить в него масло вместо того чтобы предоставить доступ к капоту.

Sasha
Вы предлагаете поднимать состояние компонента в ро...

Что за компонент библиотеки в котором состояние должно быть инкапсулировано? Если состояние имеет отношение не только к этому компоненту, а вы про это и сказали, что оно может изменятся и вне его, то да предлагаю поднимать его выше, это нормально

Sasha
То что вы предложили мне напоминает, как если бы в...

Менять пропс напрямую - плохая идея Синхронизировать две переменных, которые отвечают за одного и то же состояние - тоже

Sasha- Автор вопроса

Сейчас конкретно делаю грид с раскрывающимися группами строк. Каждая группа может раскрывать по какому-то действию вне компонента грида, так и по действию внутри него. Предлагаете состояние группы раскрыто/свернуто выносить наружу? Ведь это состояние относится к гриду.

Объекты возможно вполне себе

Sasha- Автор вопроса
Kirill 🍅 Romanov
Объекты возможно вполне себе

Каким образом в таком случае поведет себя реактивность? Будут ли изменения отражены в родительском компоненте?

Sasha- Автор вопроса
Kirill 🍅 Romanov
Будут. Но это грешно

Поэтому это решение плохое и я рассматриваю реализацию через watch.

Sasha
Сейчас конкретно делаю грид с раскрывающимися груп...

Если состояние изменяется снаружи — уже относится не только к компоненту

Sasha- Автор вопроса
Perl Enjoyer
Если состояние изменяется снаружи — уже относится ...

Если водителю нужно залить масло в двигатель (изменить уровень масла), уровень масла относится к водителю или к автомобилю?

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

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

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...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
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
Карта сайта