Когда приходится отправлять
Если же оставить
Семантические имена аргументов не влияют на сложность кода, но крайне сильно помогают в чтении уже написанного.
Приятного вам дня!
params
или result
с помощью sample fn
, очень советую использовать переименование в деструктуризации.Если же оставить
fn: ({ params }) => params,
как есть, то легко можно забыть с чем именно вызывался оригинальный эффект или какой конкретно результат он возвращает.Семантические имена аргументов не влияют на сложность кода, но крайне сильно помогают в чтении уже написанного.
Приятного вам дня!
👍45💋4
Forwarded from OpenNews (HK-47)
Фронтэнд для языка Rust доведён до готовности для интеграции в GCC 13
Разработчики проекта gccrs (GCC Rust) опубликовали четвёртую редакцию патчей с реализацией фронтэнда компилятора языка Rust для GCC. Отмечается, что в новой редакции устранены почти все замечания, ранее высказанные при рецензировании предложенного кода, и патчи удовлетворяют всем техническим требованиям к коду, добавляемому в GCC. Ричард Бинер (Richard Biener), один из сопровождающих GCC, упомянул, что теперь код фронтэнда для языка Rust готов для интеграции в ветку GCC 13, релиз которой состоится в мае 2023 года.
Разработчики проекта gccrs (GCC Rust) опубликовали четвёртую редакцию патчей с реализацией фронтэнда компилятора языка Rust для GCC. Отмечается, что в новой редакции устранены почти все замечания, ранее высказанные при рецензировании предложенного кода, и патчи удовлетворяют всем техническим требованиям к коду, добавляемому в GCC. Ричард Бинер (Richard Biener), один из сопровождающих GCC, упомянул, что теперь код фронтэнда для языка Rust готов для интеграции в ветку GCC 13, релиз которой состоится в мае 2023 года.
🔥9👍5
Завтра в 18:00 МСК смотрите онлайн-митап по дизайн-системам.
Спикеры:
- Юрий Юрин, Dev Unit Lead в Skyeng;
- Денис Пушкарь, Product Owner в Ростелеком (дизайн-системы Звука и Ростелекома);
- Петр Солопов, Head of Frontend в SuperJob;
- Владимир Дзех, руководитель команды дизайн-системы в Контуре;
- Максим Лисин, старший Frontend-разработчик в SuperJob;
- Владимир Курочкин, Product Design Lead в SuperJob.
Регистрируйтесь: https://superjob.ru/i/3sBdF
Рекомендую, потому что сам увлекаюсь дизайн-системами и их созданием.
Спикеры:
- Юрий Юрин, Dev Unit Lead в Skyeng;
- Денис Пушкарь, Product Owner в Ростелеком (дизайн-системы Звука и Ростелекома);
- Петр Солопов, Head of Frontend в SuperJob;
- Владимир Дзех, руководитель команды дизайн-системы в Контуре;
- Максим Лисин, старший Frontend-разработчик в SuperJob;
- Владимир Курочкин, Product Design Lead в SuperJob.
Регистрируйтесь: https://superjob.ru/i/3sBdF
Рекомендую, потому что сам увлекаюсь дизайн-системами и их созданием.
🔥10⚡1👍1🍓1
Я уже давно ищу сервис для организации своего рабочего времени.
А причиной этого поиска стала вечная проблема состыковки календарей с людьми. Бывало ли у вас такое:
— Привет, давай созвонимся на час в понедельник?
— Привет, у меня в понедельник занято, давай во вторник?
— Давай, а во сколько? У меня свободно 14, 16 и 21
— Блин, у меня все это время занято, есть среда в 15
— А у меня среда вся занята…
В какой-то момент, подобные состыковки отнимали минут по 20 на одну встречу. Я уже хотел писать свой сервис, но решил загуглить. Оказалось, что их десятки разных, но почти все не умеют подключать разные календари (у меня 6 календарей из-за разных почт) либо стоят по $20+ в месяц.
Итогом моих поисков стал сервис Планерка. С ребятами я уже больше года. Меня покорило наличие Telegram-бота и API для автоматизации. Делюсь рекомендацией, потому что сам пользуюсь.
А причиной этого поиска стала вечная проблема состыковки календарей с людьми. Бывало ли у вас такое:
— Привет, давай созвонимся на час в понедельник?
— Привет, у меня в понедельник занято, давай во вторник?
— Давай, а во сколько? У меня свободно 14, 16 и 21
— Блин, у меня все это время занято, есть среда в 15
— А у меня среда вся занята…
В какой-то момент, подобные состыковки отнимали минут по 20 на одну встречу. Я уже хотел писать свой сервис, но решил загуглить. Оказалось, что их десятки разных, но почти все не умеют подключать разные календари (у меня 6 календарей из-за разных почт) либо стоят по $20+ в месяц.
Итогом моих поисков стал сервис Планерка. С ребятами я уже больше года. Меня покорило наличие Telegram-бота и API для автоматизации. Делюсь рекомендацией, потому что сам пользуюсь.
planerka.app
Планёрка — Онлайн сервис записи для экспертов: эффективное планирование встреч и управление временем
Планёрка — онлайн сервис записи, который помогает экспертам легко планировать встречи, управлять временем и сосредоточиться на главном. Удобные функции, интеграции с календарями и простота использования — всё для максимальной эффективности.
👍10❤7🤡7💩2
Сова пишет…
Открыл для себя новый тип браузера https://arc.net/ буду изучать, идея выглядит интересно
браузер с командной панелью
❤13🤡1
Аватар: Путь воды очень хорош.
Получил немалое удовольствие.
Купил билеты в премиум зал, чтобы с комфортом провести 3 часа.
Получил немалое удовольствие.
Купил билеты в премиум зал, чтобы с комфортом провести 3 часа.
👍19🤡7💯1
За 10 минут я дошел только до кальция.
Мусорный Магний конечно очень мешает
http://dimiwww.tg-me.com/Fe26/
Мусорный Магний конечно очень мешает
http://dimiwww.tg-me.com/Fe26/
🤡6👍2🤯1
Создание контента отнимает много времени. Сколько вы готовы платить за подписку на кучу контента по эффектору и фронтенду?
Anonymous Poll
20%
5€
18%
3€
11%
1€
51%
0€
🤡20👍10
Нажмите на кнопку ниже, чтобы настроить регулярные донаты.
Если подключиться к боту не удается, используйте эту ссылку.
Если подключиться к боту не удается, используйте эту ссылку.
Я увидел пожелание организовать сборы на контент, но не делать часть его платным.
Не уверен, что такая модель мне подходит, так как видел довольно скудные результаты, когда пробовал организовать подобные сборы ранее.
Но если очень хочется задонатить на публичный контент, пожалуйста, ссылка выше.
Не уверен, что такая модель мне подходит, так как видел довольно скудные результаты, когда пробовал организовать подобные сборы ранее.
Но если очень хочется задонатить на публичный контент, пожалуйста, ссылка выше.
🤡9👍7👎1🔥1
Когда стоит использовать
Довольно часто возникает ситуация, когда в компоненте нужно выбрать значение из списка по идентификатору приходящему в props.
Не стоит использовать в таких случаях useEffect или useMemo. Гораздо эффективнее и нагляднее здесь будет работать
Его главная задача — выбрать значение из стора основываясь на параметре извне. Самый важный параметр здесь —
Всё, что передано в параметр
Если значение в списке
Иногда внутри fn создается и возвращается новый объект, а значит простое сравнение по ссылке (
Кстати,
#effector
useStoreMap
Довольно часто возникает ситуация, когда в компоненте нужно выбрать значение из списка по идентификатору приходящему в props.
Не стоит использовать в таких случаях useEffect или useMemo. Гораздо эффективнее и нагляднее здесь будет работать
useStoreMap
.Его главная задача — выбрать значение из стора основываясь на параметре извне. Самый важный параметр здесь —
keys
, это примерно то же самое, что и dependencies в стандартных хуках useEffect, useMemo.Всё, что передано в параметр
keys
, придет вторым аргументом в fn
. Так можно сделать функцию fn чистой без завязки на замыкание, хоть выноси как редюссер в отдельный файл.Если значение в списке
keys
поменяется, то функция fn будет вызвана еще раз. Только если fn
возвращает другой результат, будет перерендер. Это крайне выгодно, если store часто обновляется, но вычисленное значение остается тем же самым.Иногда внутри fn создается и возвращается новый объект, а значит простое сравнение по ссылке (
===
) будет всегда false
, в этом случае стоит переопределить параметр updateFilter
, в котором нужно описать сравнение старого и нового состояния. Можно не сравнивать все поля объектов, а например сравнить только идентификатор или хеш.Кстати,
defaultValue
и updateFilter
— не обязательные параметры. Жмите ⚡️ если узнали что-то новое.#effector
⚡83🔥6👍4🫡2❤1
Еще один пример использования
Как бы часто не менялась роль в сторе
Очень удобно, с точки зрения оптимизации рендеринга. Это все еще самая дорогая часть рантайма в React.
#effector
useStoreMap
Как бы часто не менялась роль в сторе
$role
, перерендер компонента произойдет только когда результат функции fn
вернет новое значение. То есть роль станет подходящей или наоборот неподходящей.Очень удобно, с точки зрения оптимизации рендеринга. Это все еще самая дорогая часть рантайма в React.
#effector
👍22⚡6🔥2🥰1