Коллекция материалов для изучения ES2015, React, Redux, Webpack, Babel и всего остального.
Думаешь, что подборка не полная? Присылай Pull Request с недостающими материалами!
Содержание:
Перед тем, как вы утоните с головой в пучине вод React самое полезное, что вы можете сделать – изучить некоторые возможности ES2015, которыми вы будете пользоваться постоянно.
Блочные зоны видимости [RU] – const
, let
вместо var
: в чём разница и где стоит быть осторожным.
Стрелочные функции [RU] – f => f
вместо function (f) { return f; }
и как не потерять контекст выполнения функции без использования метода bind
.
Расширение литерала объекта [RU] – сокращённые записи свойств и методов в объектах.
Деструктуризация объектов и массивов [RU] – сокращённая запись обращения к свойствам.
Модульная система [RU] – основы использования нативных модулей.
Классы [RU] – работа с прототипами и наследованием в новом стандарте.
Интерполяция строк [RU] или как забыть про 'hello, ' + userName + '!'
.
Новые методы массивов [EN]: Array.from
, find
, fill
, includes
и многие другие.
Промисы:
Обещание бургерной вечеринки [RU] – основы работы промисов на интересных примерах.
Сборник наиболее необходимых на практике приёмов использования промисов [RU]
Онлайн песочница [EN] для изучения промисов с визуализацией алгоритма их выполнения. Есть несколько отличных примеров для демонстрации принципов работы и возможность написать код своими руками.
Статья из официальной документации Thinking in React [RU] про идеологию библиотеки, поможет понять, основные идеи лежащие в основе React.
React курс для начинающих [RU] – текстовый курс по основам React на русском языке. Научит только самым базовым вещам: работе с компонентами, lifecycle хуками, формами и валидацией пропсов с помощью PropTypes.
Все фундаментальные принципы React.js, собранные в одной статье [RU].
React.js for Stupid People [EN] – спасёт вас, если вы до сих пор ничего не поняли. Всё максимально доступно для самых чайников. Есть перевод на русский язык – React.js для глупых людей [RU].
Абсолютный минимум [EN], того что надо знать, чтобы начать работать с React.
Modern React with Redux [EN] – курс по основам React. Подойдёт для всех, кто только начинает своё знакомство с экосистемой React. В ходе первой части курса вы построите приложение для поиска и просмотра видео на YouTube (только React, никаких изысков), во второй части начнёте своё путешествие в страну Redux и создадите приложение с использованием Redux и Google Maps API.
React to the Future [EN] – презентация про то, чем действительно является React и, почему появление библиотеки – это большой шаг вперёд.
Объяснение принципов работы пропсов и состояний [EN] в React на примере Дарт Вейдера и повстанцев.
Подборка интерактивных примеров [EN], которые помогут разобраться в базовых идеях, лежащих в основе библиотеки.
PureComponent в React [RU] – как и зачем применять, разбор отличий от Component.
Основы производительности React-приложений [RU] – как правильно работать с shouldComponentUpdate
.
Основы работы с содержимым head [RU] в React-приложениях (в том числе и изоморфных) с помощью библиотеки react-helmet.
React Lifecycle Methods – how and when to use them [EN] – всё про жизненный цикл компонентов в React: подробно о том, как работает каждый метод + разбор ситуаций, в которых может понадобиться каждый хук.
Контекст в React [EN] – экспериментальный функционал, на который опираются многие популярные библиотеки (react-redux, react-intl).
Компоненты высшего порядка [EN] – руководство по работе с вашими собственными компонентами высшего порядка.
Десять мини-паттернов в React [EN]: разбор лучших практик при работе с компонентами.
Курс Advanced React and Redux [EN] расскажет про основы тестирования React компонентов, работу с аутентификацией на стороне клиента и сервера и компоненты высшего порядка.
Работа с AJAX запросами в React [EN] — где и когда загружать данные.
Работа с анимациями в React [EN] с помощью ReactCSSTransitionGroup. Если вы видели приложения на React с невероятно крутыми переходами между страницами, то посмотрите, как за пару минут можно прикрутить нечто подобное к себе в проект.
Подробное объяснение принципов разделения презентационных компонентов и компонентов контейнеров [RU] при работе с React и Redux.
Подборка 8 вещей, которые обязательно надо изучить в React, перед знакомством с Redux. [EN]
Когда я пойму, что готов к Redux?, перевод статьи разработчика о том, как понять, что наступило время освоить Redux.
Лучший способ ознакомиться с Redux — посмотреть курс от самого создателя (Дэна Абрамова) на egghead.io [EN] — 30 видео уроков, в которых покажут не только, как пользоваться библиотекой, но и объяснят принцип её работы (по сути, в ходе курса вы сами напишете свой мини-Redux) + в конце расскажут про связку с React с помощью компонентов из React-redux, объяснят, как создавать компоненты-контейнеры, единственная цель которых передавать данные в другие компоненты, а также, как использовать контексты при работе с React.
Сразу после курса бегите читать официальную документацию [EN]. Документация небольшая по объёму, но проясняет многие детали, которые не смог покрыть курс. Так же существует вольный перевод документации на русском языке [RU].
Статья Лучшие практики при работе с Redux [EN] расскажет, как не совершить типичных ошибок: где и как организовать бизнес логику приложения, как правильно работать с асинхронными операциями, как создать архитектуру проекта на Redux и многое другое.
mergeStateToProps [RU] — возможности React Redux, о которых вы не знали (mapDispatchToProps
на стероидах).
Идиоматический Redux [EN] – второй курс от создателя Redux (Дэна Абрамова) про продвинутые техники использования библиотеки.
Обзор экосистемы Redux [EN] — объяснение принципов сосуществования с React, React Router + паттерны работы с асинхронностью и аутентификацией.
Пишем свой middleware [EN].
Асинхронный Redux [EN] – разбор библиотек для работы с асинхронными операциями в Redux.
React Router 4 [RU] – простое объяснение отличий от предыдущих версий.
React router + browserHistory [EN] – как правильно использовать в продакшене.
Всё о React Router 4 [EN] – подробно о новых идеях заложенных в новой версии библиотеки и почему всё так кардинально изменилось.
Напиши свой React Router, или как работает четвёртая версия React Router изнутри [EN] – лучший способ понять принцип работы React Router.
Изоморфные приложения на React с React Router 4 версии [EN] – как организовать server-side рендеринг приложения.
React Router не всегда идеальное решение для организации роутинга. Facebook, например, вообще не использует его в своих проектах. Обзор альтернатив React Router [EN].
Как написать свой роутер [EN] – руководство по созданию собственного роутера, работающего с server-side рендерингом.
Анимированные переходы между страницами + React Router 4 [EN] – введение в использование ReactTransitionGroup.
Как избежать излишней сложности состояния приложения [RU] – руководство по правильной организации Redux-стора в больших приложениях.
Как правильно организовать архитектуру большого приложения на React и Redux [EN].
Пять советов по работе с Redux в больших приложениях [EN] – продвинутое использование селекторов, техники разделения состояния, переиспользование редюсеров.
Создаём клон Trello [RU]. Описывается разработка сайта c авторизацией и функционалом популярного. Помимо React используется Redux, PostgreSQL, Phoenix (фреймворк для Elixir, который в свою очередь работает на Erlang VM).
Собираем с нуля изоморфное приложение – пошаговое руководство по настройке сборки приложения на React с server-side рендерингом [RU]:
Создаём клон Реддита [EN] с помощью React и Firebase
Создаём клон Твиттера [EN] на React с использованием appbase в качестве бэкенда.
Создаём медиа-библиотеку с помощью React, Redux и Redux-saga [EN]:
Создаём приложение для изучения React с использованием API Hacker News [RU]
Тестирование компонентов в React [EN]: как сделать это правильно и что нужно тестировать в первую очередь.
Видео курс от egghead.io [EN] про тестирование React приложения с Jest.
Руководство по использованию TDD подхода при разработке React приложений [EN]
Webpack + React [RU] – как уменьшить бандл в 15 раз: подборка плагинов для экстремального сжатия.
Webpack 4 для начинающих [EN] – подробное введение в использование четвертой версии сборщика.
Видео курс [EN] по второй версии Webpack. Расскажут, как написать базовый конфиг, работать с лоадерами и плагинами, автоматически генерировать HTML, работать с React и Babel, стилями и другими файлами + подробно про настройку Webpack dev server для удобной горячей перезагрузки.
Собираем React приложение с помощью Webpack 2 и Babel [EN] – руководство по настройке самых необходимых инструментов.
Code Splitting [EN] в React приложении – разделение большого бандла на меньшие части для более быстрой загрузки приложения.
Горячая перезагрузка всего! [EN] Как использовать Hot Module Replacement в Webpack для перезагрузки фронтенда и бэкенда в изоморфном приложении.
Руководство по настройке редактора кода Atom [EN] для наиболее продуктивной работы с React приложениями.
Подборка 15 вопросов с собеседования [RU] для React-разработчика.
Подборка интересных open source проектов [EN] сделанных на React. На их примере можно посмотреть, как правильно организовать код в своих проектах и подглядеть пару интересных инструментов для сборки.
Awesome React Talks [EN] – подборка лучший докладов с конференций, посвященных React, всё разделено по годам.
React за 30 минут [EN] – создайте свой клон библиотеки и посмотрите, как всё устроено изнутри.
Основы работы с recompose [EN] – библиотекой для расширения возможностей функциональных компонентов и их оптимизации.
Шпаргалка по принципам работы с экосистемой React + Redux [EN] в виде диаграммы.
React(基础框架): React 是基础框架,是一套基础设计实现理念,开发者不能直接使用它来开发移动应用或者网页。 React.js(web网页开发): 在React框架之上,发展出了React.js 框架来开发网页。 React Native(移动端应用): 在React框架之上,发展出来React Native 用来开发移动应用。 作者:壹点微尘 链接:https://www.jiansh
React基础 react基本概念 JSX 简介 JSX是一宗描述UI的JavaScript扩展语法,是组件化语言实现的基础,是沟通UI描述和UI数据之间的桥梁。 JSX语法 基本语法 基本的语法使用成对的标签构成的一个树状结构的数据。 const element = { <div> <h1>Hello, World</h1> </div> } 标签类型 首字母大写的是
一、概念 为什么会有Hooks? 介绍Hooks之前,首先要说一下React的组件创建方式,一种是类组件,一种是纯函数组件,并且React团队希望,组件不要变成复杂的容器,最好只是数据流的管道。开发者根据需要,组合管道即可。也就是说组件的最佳写法应该是函数,而不是类。 但是我们知道,在以往开发中类组件和函数组件的区别是很大的,纯函数组件有着类组件不具备的多种特点: 纯函数组件没有状态 纯函数组件没
与redux的区别: 比较简便,不用写订阅,其实就是简化版的 Redux。 重点是提供器(Provider)和连接器(connect),还有两个映射(stateToProps、dispatchToProps) 安装react-redux、redux npm install --save react-redux npm install --save redux 使用react-redux实现累加 1
React v15.4.0: 分离 React 和 React DOM React v15.5.0: React.PropTypes 和 React.createClass 发布了自己的包 prop-types,create-react-class 如果您的应用在 15.5 中产生零警告,则它应该在 16 中继续运行,无需任何更改。 React v15.6.0: 降级弃用警告以使用console.
PS E:\HtmlProject\react\reactProject\react_staging> npm start > react_staging@0.1.0 start > react-scripts start There might be a problem with the project dependency tree. It is likely not a bug in
首先,贴一下我的错误,在使用create-react-app创建一个项目之后,我用vscode打开这个项目,并且在终端输入命令npm start之后,出现报错的情况: C:\Users\Lenovo\Desktop\react-demo react-scripts start There might be a problem with the project dependency tre
react async 介绍 (Introduction) When fetching data in a JavaScript application, async-await allows us to use imperative synchronous programming for fetching data. This means that our code will imperativ
问题内容: 我注意到可以这样导入: …或像这样: 第一个导入模块中的所有内容(请参阅:导入整个模块的内容) 第二个仅导入模块导出(请参阅:导入默认值) 似乎这两种方法是不同的,并且根本上是不兼容的。 为什么它们都起作用? 请参考源代码并解释该机制…我有兴趣了解其工作原理。 ES6常规模块信息回答了该问题。 我在问使模块像这样工作的机制。在这里,它似乎与源代码中的 “ hacky”导出机制有关,但尚
这篇快速上手指南会教你如何将TypeScript与React结合起来使用。 在最后,你将学到: 使用TypeScript和React创建工程 使用TSLint进行代码检查 使用Jest和Enzyme进行测试,以及 使用Redux管理状态 我们会使用create-react-app工具快速搭建工程环境。 这里假设你已经在使用Node.js和npm。 并且已经了解了React的基础知识。 我们之所以使
我已经改用react Native制作跨平台应用程序(虽然没有制作)。我只是想要一个答案,我的问题,反应和反应之间的区别。我在网上搜索了一下,但没有找到合适的答案。
问题内容: 与 哪个更好,为什么? 还是除了以后编写更少的代码外没有其他区别? 写作是否意味着只导入Component对象? 问题答案: 让您代替。它减少了React名称空间的键入和重复,这通常是一种理想的现代编码约定。 此外,Webpack 2和Rollup之类的工具会“摇晃”,这意味着任何未使用的导出都不会捆绑到您的最终代码中。使用/,您可以保证所有React的源代码都将被捆绑。使用,某些工具
本文向大家介绍react-native 启动React Native Packager,包括了react-native 启动React Native Packager的使用技巧和注意事项,需要的朋友参考一下 示例 在最新版本的React Native上,无需运行打包程序。它将自动运行。 默认情况下,这将在端口8081上启动服务器。要指定服务器所在的端口
我正在使用“React admin”创建一个管理界面(前端)。我正在使用spring boot作为我的REST API。我的React应用程序的url是:“http://localhost:3000”。我的spring boot API的url是:“http://localhost:8080”。 下面是CORS配置的spring boot代码,它在一个单独的类中,称为CORSCONFIG: 下面是