Двигаюсь по реакту. Реакт кажется жертвой эволюционного развития, который сначала был просто средством для превращения джсонов в верстку, а затем постепенно оброс управлением стейта, хуками и прочими тентаклями. В результате чего useEffect (местный аналог вьюшного watch) превратился в триединую сущность. Если в useEffect прокинуть переменную, то он будет вести себя как нормальный, здоровый вотчер и запускать коллбек на изменение отслеживаемой переменной.
А если пробросить пустой массив - то коллбек выстрелит на маунте компонента в тело страницы (импровизированный componentDidMount/onBeforeMount). Но на этом чудеса не заканчиваются. Если внутри коллбека возвращать функцию, то эта функция будет запускаться на демонтаж компонента (как componentDidUnmount/onUnmounted).
Работает - да. Компактно - да. Интуитивно понятно - ну такоэ (почти как алоэ, каланхоэ и никакоэ). Но поскольку с вакансиями сейчас тухло, а реактовых вакансий ощутимо больше, чем вьюшных, то я догрызу этот кактус до конца и попрошу добавки.