Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «javascript»
[Перевод] Идиоматичный Redux: Дао Redux'а, Часть 1 — Реализация и Замысел 2017-06-11 21:41:25
Мысли о том, какие требования выдвигает Redux, как задумано использование Redux и что возможно с ...
+ развернуть текст сохранённая копия
Мысли о том, какие требования выдвигает Redux, как задумано использование Redux и что возможно с Redux.
Введение
Я потратил много времени, обсуждая онлайн паттерны использования Redux, была ли это помощь тем, кто изучает Redux в Reactiflux каналах, дискуссии о возможных изменениях в API библиотеки Redux на Github'е, или обсуждение различных аспектов Redux'а в комментариях к тредам на Reddit'е или HN (HackerNews). С течением времени, я выработал свое собственное мнение о том, что представляет собой хороший, идиоматичный Redux код, и я хотел бы поделиться некоторыми из этих мыслей. Несмотря на мой статус мейнтейнера Redux'а, это всего лишь мнения, но я предпочитаю думать, что они являются достаточно хорошими подходами.
Redux, в своей сути, невероятно простой паттерн. Он сохраняет значение, выполняет одну функцию для обновления значения когда это необходимо, и уведомляет любых подписчиков о том, что что-то изменилось.
Несмотря на эту простоту, или, возможно, вследствие ее, существует широкий спектр походов, мнений и взглядов о том, как использовать Redux. Многие из этих подходов широко расходятся с концепциями и примерами из документации.
В то же время, продолжаются жалобы на то, как Redux «заставляет» вас делать вещи определенными способами. Многие из этих жалоб на самом деле включают концепции связанные с тем, как Redux обычно используется, а не фактическими ограничениями наложенными самой библиотекой Redux. (Например, только в одном недавнем HN треде я видел жалобы: «слишком много шаблонного кода», «константы action'ов и action creator'ы не нужны», «я вынужден редактировать слишком много файлов чтобы добавить одну фичу», «почему я должен переключаться между файлами чтобы добраться до своей логики?», «термины и названия слишком сложны для изучения или запутанны», и слишком много других.) Читать дальше →
Тэги: abramov, dan, immutability, javascript, mvc, open, reactjs, redux, source, веб-сайтов, программирование, разработка, функциональное
Программа генерации всех вариантов 0,1 заданной длины (javascript) 2017-06-10 09:45:54
+ развернуть текст сохранённая копия
Продолжаю рубрику «Работаем с кодом», сегодня у нас реализация алгоритма для нахождения всех комбинаций 0,1 для векторов заданной длины. Исходник: function strInc(str, base) { str = str.toString() || '0'; base = base || 10; var result = []; var reverse = []; var overflow = 1; var n = 0; numbers = str.split(','); for(var i […]
Тэги: javascript, алгоритмы, вектор, генерация, код, кодом, пример, работаем
Redux: попытка избавиться от потребности думать во время запросов к API, часть 2 2017-06-10 03:37:53
Мы хотим создать пакет, который позволит нам избавиться от постоянного создания однотипных ...
+ развернуть текст сохранённая копия
Мы хотим создать пакет, который позволит нам избавиться от постоянного создания однотипных reducer'ов и action creator'ов для каждой модели, получаемой по API.
Первая часть — вот эта вот статья. В ней мы создали конфиг для нашего будущего пакета и выяснили, что он должен содержать action creator, middleware и reducer. Приступим к разработке! Читать дальше →
Тэги: api, es6, javascript, react, reactjs, redux, веб-сайтов, разработка
История одного лендинга 2017-06-07 15:55:09
+ развернуть текст сохранённая копия
Здравствуйте, дорогие хабравчане! В этом посте я хочу рассказать о том, как и в какую цену я заказывал сайт у фрилансеров, в какие сроки я получил результат и что из этого сделал сам. Задача была создать “лендинг-магазин”: одностраничный сайт для двух товаров, с возможностью сразу же сделать заказ через полнофункциональную корзину.
Этот пост содержит совсем немного технических подробностей и рассказывает больше о рабочем процессе и взаимодействии с людьми.
Сколько стоит лендинг у фрилансера?
Тэги: javascript, php, веб-сайтов, верстка, дизайн, задание, лендинг, разработка, техническое, фриланс
[Из песочницы] Redux: попытка избавиться от потребности думать во время запросов к API 2017-06-07 13:57:34
И в чем же проблема?
Я начал изучать React и Redux не ...
+ развернуть текст сохранённая копия
И в чем же проблема?
Я начал изучать React и Redux не так давно, но он уже успел изрядно потрепать мне нервы. Буквально над каждым действием приходится задумываться — почти никакие изменения в коде невозможны без того, чтоб что-то оторвать. Чтоб просто получить список постов по API и вывести их, надо, пожалуй, написать не меньше сотни строк кода — создать корневой контейнер, создать store, добавить action для запроса к API, для успешного результата запроса, для неудачного результата запроса, создать action-creators, сматчить action-creators и props, сматчить dispatch и props, написать reducer на каждый action… Ух, продолжать не хочется. И все это мы должны делать заново для каждого веб-приложения — крайне нерациональная трата сил программиста.
Да, можно сказать новичку: "Смотри, тут десяток пакетов, которые могут сделать каждое действие из этого списка вместо тебя. Выбирай и пользуйся!" Но проблема в том, что надо разобраться в настройке и воспользоваться десятком пакетов, позаботившись о том, чтоб они совпадали с версией, которая описана в документации и не вступали друг с другом в конфликты… Слишком сложно. Хочется чего-то проще, такого же простого, как в мире Django, из которого я пришел. Какой-то один пакет, после установки которого в store сами по волшебству складываются все нужные данные — бери и пользуйся.
Ну, я и решил — если такого решения нет, напишу-ка я его сам.
Постановка задачи
Убирая всю лирику из первого абзаца, получаю задачу — нам нужно создать инструмент, который будет:
- Делать асинхронный GET-запрос к REST API.
- Анализировать полученные данные и данные, лежащие в store, и, если там не хватает связанных по foreign key данных, делать еще запросы.
- Складывать полученные данные в store и следить за актуальностью хранящихся данных.
По описанию выходит, что состоять пакет будет из action creator'а, middleware и reducer'а. Читать дальше →
Тэги: api, es6, javascript, middleware, npm, react, reactjs, redux, веб-сайтов, разработка
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
Главная / Главные темы / Тэг «javascript»
|
Взлеты Топ 5
Падения Топ 5
|