вроде как обработка Event во view-model грязно, но все же это всегда было, есть и будет в вебе, так что не страшно
view model это довольно условный термин, он мало что говорит о наших намерениях в конкретных ситуациях, а ведь именно от них зависит именование эвентов
Я вижу разницу в том случае, когда функция начинает создаваться в теле компонента. Это приходиться оборачивать в useCallback. С первым вариком у нас никогда ссылка не меняется на нее, а если второй вариант перенести, то будет пересоздаваться
А разве нельзя просто создать onChange/handleChange ивент прямо из оригинального emailChanged.prepend в файле компонента (статически)?
Да можно и все будет четко, но препнд это создание связи + юнита. А мне хотелось бы не создавать юниты во вью чисто иделогически, хотя у нас есть useStoreMap useList..... сложна