Получи случайную криптовалюту за регистрацию!

Easy JS

Логотип телеграм канала @js_is_easy — Easy JS E
Логотип телеграм канала @js_is_easy — Easy JS
Адрес канала: @js_is_easy
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.01K
Описание канала:

Полезные советы от React frontend разработчика c 5-летним стажем из немецкой международной компании. Могу немного пояснить за backend, работал около 3х лет с Ruby on Rails.
По всем вопросам: @ospens

Рейтинги и Отзывы

2.50

2 отзыва

Оценить канал js_is_easy и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения 2

2022-12-04 15:30:59
React. Частые ошибки: Prop-drilling

Prop-drilling – это передача одного свойства на несколько уровней вниз. Сам React никак не ограничивает глубину передачи пропсов, однако, если слишком увлечься, то можно получить проблемы с производительностью и расширением кодовой базы.

React компоненты перерисовываются каждый раз при изменении пропсов (или, как минимум, пытаются это делать, если компонент мемоизирован). Так вот, если прокидывать проп на несколько уровней ниже, то промежуточные компоненты будут так же перерисовываться, тем самым, понижая производительность.

На помощь может прийти React Context или любой менеджер состояний (например, Redux или MobX). С их помощью можно избавить промежуточные компоненты от передачи пропсов, а так же вынести бизнес логику в отдельные сущности.

P.S. Дока Redux на русском и дока MobX на русском (немного устарела, но концепция сильно не изменилась)

#react
343 views12:30
Открыть/Комментировать
2022-12-03 14:33:02
Является ли аргумент числовым?

Подобная функция может пригодиться, если вам нужно проверить данные, полученные из ненадежного источника, например, после парсинга.
1. Отсекаем все типы, кроме строк.
2. Проверяем, является ли аргумент числовым значением с помощью !NaN.
3. Если пункт 2 прошел проверку, то пытаемся получить десятичное число с помощью parseFloat и проверяем полученное значение с помощью того же !NaN.

Учитывайте, что в качестве разделителя чисел валидна только точка ".".

Возможно, у вас появился вопрос: "Почему бы не использовать базовые функции вроде parseInt или Number?". Причина в том, что иногда, они могут вести себя не очевидно. Например, частично парсить parseInt('12px') -> 12, не учитывать дробную часть parseInt('0.5') -> 0 или даже преобразовывать пробелы Number(' ') -> 0

#js
272 viewsedited  11:33
Открыть/Комментировать
2022-12-02 14:46:02
Случайный элемент массива

Сегодня разберем два способа получения случайного элемента массива: обычный и криптографический.

Преимущество обычного способа в том, что он короток в написании и прост в чтении, даже новичку. Однако, метод Math.random() возвращет псевдослучайное число, что может не подойти, если вам нужна более непредсказуемая генерация чисел. Например, вам нужно свое приложение с блэкджеком и покером. Здесь на выручку приходит метод crypto.getRandomValues, который возращает криптографически стойкие числа. Пример реализации можно увидеть на втором скрине.

В большинстве случаев будет достаточно первого метода, т.к. он быстрее, да и вряд ли вам понадобятся криптографический рандом, чтобы показывать набор случайных карточек в дашборде.

К слову о производительности. Math.random() более чем в 10 раз быстрее своего криптографического аналога

#js
222 views11:46
Открыть/Комментировать
2022-12-01 13:54:02
Задача: Длина последнего слова

Для заданной строки s, состоящей из слов и пробелов, вернуть длину последнего слова в строке. Примечание: слово — это максимальная подстрока, состоящая только из символов без пробелов.

Пример
Ввод: s = " Привет Мир "
Вывод: 3
Объяснение: Последнее слово "Мир" содержит 3 буквы.

Ответ

#algorithms
195 views10:54
Открыть/Комментировать