Comments 25
Используя useContext заменить полностью Redux не вариант по двум причинам — перфоманс контекст API который не рассчитан на частые апдейты (https://github.com/facebook/react/issues/14110#issuecomment-448074060) и Redux про декларативный стейт с мидлвейрами итд.
Тайпскрипта там нет, а авторы, похоже, искренне не понимают, зачем он нужен (из староверов). Потому и не кусаютъ.
Так давно уже есть
https://svelte.dev/blog/svelte-and-typescript
О, ничо себе, вот это скорость развития! Ну тогда Реакту конец настает, значит, раз Svelte взялись за ум с TypeScript. Там такое невообразимое количество легаси накопилось, оно так просто не выживет, особенно когда Дэну Абрамову надоест все это тянуть...
Тем более Svelte наиболее приближен к нативному JS, если сравнивать его с тем же Реактом и Вью
React это как раз таки чиcтый JS, лишь с одним синтаксическим сахарком в виде jsx, который просто заменяет конструкцию на React.createComponent(MyComponent) и по факту все.
А вот Vue и Svelte имеют свой «язык» для описания шаблонов. + Svelte вообще использует синтаксические контрукции из js не по назначению, заменяя полностью их смысл (это про метки). Так что говорить что svelte ближе к нативному js чем react в корне не верно.
Так как ближе всех к JS как раз таки React. В то время ка Svelte переопределяя стандартный синтаксис для своих нужд как раз таки дальше всех от JS, так как скорее притворяется им но не является.
Представить себе большое приложение целиком написанное на хуках и конексте мне сложно.
После появления хуков началась мода "заново изобретать редукс". (цитировал первый коммент, промахнулся с ответом)
А вообще, сравнение по стейт-манагерам странное, абсолютно сравниваются манагеры из разных миров. Тот же Vuex, к примеру, не встретить где-то снаружи Vue. Надо в разрезе по технологиям. А ещё интересно было бы оценить "осознанную необходимость", к примеру, сильно подозреваю, что у редукса большой процент из-за "исторически сложилось".
Я по собственному опыту знаю о мощи хуков React и API Context, но и у них есть свои ограниченияА можете указать, какие именно ограничения у хуков? Ну кроме того, что при описании хуков не должно быть if-ов.
Например, Deno, проект, репозиторий которого на GitHub стал самым «звёздным» JS-проектом в 2020 году, имеет встроенный компилятор TypeScript.
Deno это рантайм для тайпскрипта, он не компилирует в жс, это среда для запуска Typscript также как Node для js
Срань для отсталых, твой тайпскрипт, и далеко не все "торопятся добавлять поддержку", что даже смущает, потому, что "тайпскриптовый" import на самом деле пригодная штука и вроде "стоит" недорого.
Но провозглашать что угодно будет рано пока тайпскрипт не появится в браузере! И пока этого не случилось (надеюсь и не случится) люди будут больно получать по лбу работающим через раз рефакторингом и неспособностью тайпскрипта выполнять вообще любой JS код, что как раз и проявилось в этом году и таких "ушибленных" все больше и тенденция к резкому падению восторгов по тайпскрипту на самом джеле и именно в этом году
Мир JavaScript в 2021 году