Ever since #knockoutJS popularized data-binding, there's been numerous flavors of the #Observer pattern; Object.observe(), #React state, #RxJS, now #Signals. Every time I think, it's just #CustomEvents with extra steps.
#Events are at the core of the #JavaScript runtime; why is everyone always trying to avoid using them!?
Вот эта вот дебильная особенность react-а, что если в render() что-то происходит не так и бросается эксепшен, то react просто его подавляет и замалчивает.
Надо объявлять метод componentDidCatch(error, info) в своём компоненте, чтоб получать перехваченные эксепшены и выводить их в консоли. Кстати, в старых версиях react-a (до 16ой версии) этот метод назывался unstable_handleError(error).
Но мне всё равно проще всё тело оборачивать в свой try-catch-блок во время отладки.
Knockout.js, кстати, тоже такое делает. И мне там приходилось подпиливать в исходниках, чтобы эксепшены пробрасывались насквозь.
A вот Vue.js нормально пропускает эксепшены сквозь себя.
Having been in webdevelopment for about 20 years now (yikes!) using stuff like #MooTools, #jQuery, #Knockoutjs, #Backbonejs, #Marionettejs and #React sort of fixed the issue of making webapps interactive/reactive. It always felt cumbersome though as it required a lot of different stuff to make it possible. And now we suddenly had to manage state, validation etc. on the client side as well. More work.
But, I think I found the solution to this problem. One that reminds me of the good old days...
.. so we've built a tool that would decide where we go for #lunch.