Defront — про фронтенд-разработку и не только
23.7K subscribers
21 photos
1.09K links
Ламповый канал про фронтенд и не только. Всё самое полезное для опытных web-разработчиков

Обсуждение постов @defrontchat

Также советую канал @webnya
Download Telegram
Сегодня разработчики React зарелизили новую версию библиотеки (v16.8) с поддержкой хуков.

Для React-сообщества это большое событие, так как подобное масштабное изменение апи было довольно давно, когда в 14-ой версии были добавлены функциональные компоненты. С помощью хуков можно использовать стейт, lifecycle-методы и другие фичи React, не используя class-based компоненты. Хуки расширяют возможности библиотеки, то есть от class-based компонентов React отказываться не будет. По ссылке в разделе "What are hooks?" есть небольшая подборка хороших статей и доков, для того чтобы начать погружение в новое апи.

В следующем квартале (2019 Q2), команда React планирует зарелизить конкурентный режим (Concurrent Mode). С помощью него такие события, как ввод текста или наведение курсора на элемент, смогут приостанавливать текущий рендеринг дерева компонентов в основном потоке браузера, для того чтобы приложение было более отзывчивым.

https://reactjs.org/blog/2019/02/06/react-v16.8.0.html

#react #hooks #release
Эван Ю — автор Vue — пару недель назад опубликовал предложение о включении в Vue 3.0 нового подхода создания компонентов, который был вдохновлён React Hooks.

Большая часть сообщества отреагировала положительно на эту новость, но была и жёсткая критика. Vue стали обвинять в том, что API не будет обратно совместим с предыдущими версиями, что разработчикам придётся выкинуть свои старые знания о Vue, что Vue превращается в React и т.п. В общем, было очень горячо. В итоге, Эван добавил в предложение FAQ, в котором говорится о том, что кардинально ничего не поменяется — будет добавлен ещё один подход для создания компонентов. От уже привычного описания логики поведения компонентов с помощью объекта проект отказываться не будет.

Про новое API и его преимущества относительно старого подхода очень хорошо написал Дэниэл Элкингтон в статье — "Vue's Darkest Day" (есть перевод на хабре). От себя хочу добавить, что если React и Vue будут немного больше похожи друг на друга, то от этого выиграют все. Make love, not war.

#vue #hooks

https://github.com/vuejs/rfcs/pull/42
В Vue 3.0 запланировано добавление нового function-based API, с помощью которого можно переиспользовать логику между компонентами по такому же принципу, как это делается с помощью React Hooks. Тарас Батенков написал статью про то, как можно использовать новое API во Vue 2 — "Vue.js 3: Future-Oriented Programming".

В начале статьи на примере страницы публикаций и залипающей шапки описываются проблемы, которые существуют при старом подходе переиспользования логики с помощью миксинов и HOC'ов: коллизии имён, неявность источника, производительность. Потом этот же самый пример перерабатывается с использованием нового API.

Разработчики Vue элегантно поддержали новое API во второй версии. Для его добавления в существующий проект необходимо установить плагин npm install vue-function-api и подключить с помощью Vue.use():
import Vue from 'vue'
import { plugin } from 'vue-function-api'

Vue.use(plugin)


Статью стоит прочитать, если в вашем проекте используется Vue и хочется попробовать новое API.

#js #vue #hooks

https://blog.bitsrc.io/vue-js-3-future-oriented-programming-54dee797988b?gi=19a1dde5a8f4