Skip to content
This repository has been archived by the owner on Oct 14, 2021. It is now read-only.

Commit

Permalink
Updates, 2016-12-04
Browse files Browse the repository at this point in the history
  • Loading branch information
markerikson committed Dec 4, 2016
1 parent 74c0658 commit 5b6308a
Show file tree
Hide file tree
Showing 20 changed files with 230 additions and 28 deletions.
10 changes: 9 additions & 1 deletion basic-concepts.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@
- **React FAQ**
https://github.com/timarney/react-faq
A collection of links to help answer your questions about React, including how to get started

- **Front-End Developer Handbook**
https://www.frontendhandbook.com/
A guide that anyone could use to learn about the practice of front-end development. It broadly outlines and discusses the practice of front-end engineering: how to learn it and what tools are used when practicing it.


#### General Suggestions for Learning
Expand Down Expand Up @@ -101,4 +105,8 @@

- **Redux vs MobX vs Flux vs... Do you even need that?**
http://goshakkk.name/redux-vs-mobx-vs-flux-etoomanychoices/
Advice on avoiding choice overload when learning a toolset like React, by simplifying and just focusing on one new thing at a time.
Advice on avoiding choice overload when learning a toolset like React, by simplifying and just focusing on one new thing at a time.

- **How to avoid Javascript fatigue and sleep well at night**
https://www.javascriptfatigue.club/blog/2016/11/29/how-to-avoid-javascript-fatigue-and-sleep-well-at-night
A talk giving suggestions for dealing with learning tools and techologies, including knowing when to stop reading, following specific experts, learning patterns, and focusing on what the real problem is you're trying to solve
4 changes: 4 additions & 0 deletions community-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,10 @@
https://daveceddia.com/newsletter/
Weekly-ish articles in your inbox about React, JavaScript, and more.

- **React Native Newsletter**
http://reactnative.cc/
Occasional summary of React Native news, articles, issues & pull requests,


#### Online Course Sites

Expand Down
40 changes: 37 additions & 3 deletions es6-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,7 @@
https://www.bennadel.com/blog/3123-using-es6-generators-and-yield-to-implement-asynchronous-workflows-in-javascript.htm
A dive into how generators work, and how they can be used to handle async behavior

- **ES6 Promise Anti-Patterns and Best Practices**
http://www.datchley.name/promise-patterns-anti-patterns/
Some advice for good usage of Promises


- **A Practical Introduction to ES6 Generator Functions**
http://thejsguy.com/2016/10/15/a-practical-introduction-to-es6-generator-functions.html
Expand All @@ -119,6 +117,38 @@
http://goshakkk.name/javascript-generators-understanding-sample-use-cases/
A simple thinking pattern for easily understanding generators, plus 3 practical applications.


#### Promises

- **Javascript Promises for Dummies**
https://scotch.io/tutorials/javascript-promises-for-dummies
An introduction to understanding promises

- **Javascript Promises... in Wicked Detail**
http://www.mattgreer.org/articles/promises-in-wicked-detail/
Explains what promises are and how they work by building a promise implementation from scratch

- **Javascript Promises: an Introduction**
https://developers.google.com/web/fundamentals/getting-started/primers/promises
An explanation of what promises are, what they're useful for, terms, and related APIs

- **ES6 Promises in Depth**
https://ponyfoo.com/articles/es6-promises-in-depth
A detailed description of promises, what they are, and how to use them

- **Awesome Promises**
https://github.com/wbinnssmith/awesome-promises
Links to tutorials, articles, and other resources on promises

- **We have a problem with promises**
https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html
Describes some common mistakes while using promises, and how to avoid them

- **ES6 Promise Anti-Patterns and Best Practices**
http://www.datchley.name/promise-patterns-anti-patterns/
Some advice for good usage of Promises



#### Techniques

Expand Down Expand Up @@ -161,3 +191,7 @@
- **How Javascript Modules Work - from Past to Present**
http://www.penta-code.com/how-javascript-modules-work-from-past-to-present/
An overview of the different approaches that have been used to load Javascript modules over time.

- **Understanding the State of Javascript Modules**
http://georgemauer.net/2016/11/25/how-js-modules-work.html
A look at the major differences in module loading approaches, and why tools like Webpack or Browserify are needed to help, as well as recommendations on which tools to use adn why.
4 changes: 4 additions & 0 deletions javascript-resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,10 @@ While this list is primarily focused on learning React and Redux, and generally
https://devfreebooks.org/javascript/
A list of free online books for Javascript

- **DOM Enlightenment**
http://domenlightenment.com/
A deep look at how to interact with the DOM from Javascript, without using a library or a framework.


#### Interactive Exercises

Expand Down
6 changes: 5 additions & 1 deletion react-ajax.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@

- **Slaying a UI Antipattern in Fantasyland**
https://medium.com/javascript-inside/slaying-a-ui-antipattern-in-fantasyland-907cbc322d2a
Examples of how to handle the common "loading/no data/data" issue with some static typing and FP principles.
Examples of how to handle the common "loading/no data/data" issue with some static typing and FP principles.

- **Handling AJAX In Your React Application with Agility**
https://hackernoon.com/handling-ajax-in-your-react-application-with-agility-413f1f21fc70
Describes three approaches to fetching data in a React app: within a React component, using the Relay GraphQL library, and using Redux middleware
12 changes: 12 additions & 0 deletions react-component-patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@
https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
Dan Abramov's foundational article on classifying components based on intent and behavior. A must-read for anyone using React.

- **"People are reading way too much into 'presentational' vs 'container'"**
https://twitter.com/dan_abramov/status/802569801906475008
Dan Abramov follows up his article by emphasizing that "presentational" and "container" was just a pattern he had noticed, rather than an approach that _must_ be followed

- **Leveling Up with React: Container Components**
https://css-tricks.com/learning-react-container-components/
Describes the container component pattern and how to use it to split up responsibilities between fetching and displaying data.
Expand Down Expand Up @@ -184,6 +188,10 @@
https://blog.codeminer42.com/annotations-about-react-higher-order-components-e3561bc7c27a
An explanation of what HOCs are, what they can be used for, and when to use them.

- **Single-Prop HOCs - Better Composition in React**
https://www.okgrow.com/posts/compose-react-sphoc
Thoughts and examples of composing multiple small focused HOCs together into a final combined HOC


#### Other Component Patterns

Expand Down Expand Up @@ -214,3 +222,7 @@
- **"What is the ideal way to pass data to a callback prop?**
https://gist.github.com/jazlalli/fdee443405680f96d19211daa15d1d38
Discussion and examples of various ways to pass data to callbacks between children and parents

- **React and third-party libraries**
http://krasimirtsonev.com/blog/article/react-third-party-library-integration
Demonstrates how to build a React component that wraps up non-React code like a jQuery UI plugin
13 changes: 12 additions & 1 deletion react-forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,15 @@
- **Form Validation as a Higher Order Component**
https://medium.com/javascript-inside/form-validation-as-a-higher-order-component-pt-1-83ac8fd6c1f0
https://medium.com/javascript-inside/form-validation-as-a-higher-order-component-pt-2-1edb7881870d
A 2-part series, demonstrating how to use Ramda and FP approaches to create validation logic
A 2-part series, demonstrating how to use Ramda and FP approaches to create validation logic

- **Form recipe: Conditionally disabling the Submit button**
http://goshakkk.name/form-recipe-disable-submit-button-react/
Some simple examples of validating data from controlled inputs


#### Other

- **Creating new fields and widgets for Mozilla's react-jsonschema-form**
https://jeffersonheard.github.io/2016/11/creating-new-fields-and-widgets-for-mozillas-react-jsonschema-form/
Examples of working with the react-jsonschema-form library, including defining form schemas, gotchas, and customization with specific widgets and types
4 changes: 4 additions & 0 deletions react-implementation.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,10 @@
https://www.bennadel.com/blog/2893-setstate-state-mutation-operation-may-be-synchronous-in-reactjs.htm
Digs into the behavior of React's setState method, and discusses when it may be synchronous vs asynchronous

- **React Internals: Through the Lens of a Renderer**
https://www.youtube.com/watch?v=VVxQAoNK_XQ
A talk exploring how a React renderer works, and how to implement a tiny renderer


#### React Fiber

Expand Down
16 changes: 13 additions & 3 deletions react-native.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@

#### Tutorials

- **React Native Express**
http://www.reactnativeexpress.com/
A full set of tutorials for everything related to React Native

- **Awesome React Native Education**
https://github.com/hsavit1/Awesome-React-Native-Education
An overview of the React Native ecosystem, in a similar style to react-redux-links

- **React Native Workshop**
https://rangle-io.gitbooks.io/react-native-workshop/content/
An introduction to React Native's concepts, in conjunction with Flexbox and Redux
Expand All @@ -18,13 +26,15 @@
- **How to distribute React Native components backed by native code**
https://www.benwixen.com/articles/distributing-react-native-components-with-native-code/
A project layout for redistributable components with native code, that includes unit tests and supports automatic linking.


- **Awesome React Native Education**
https://github.com/hsavit1/Awesome-React-Native-Education
An overview of the React Native ecosystem, in a similar style to react-redux-links

#### Specific aspects

- **Using iOS Image Picker with React Native**
http://goshakkk.name/react-native-camera-roll-image-picker/
Getting an ImagePicker to work on iOS is painful. It's barely documented. This tutorial-style article shows you everything you need to do to finally start asking users for images.

- **Rapid cross-platform development with React Native**
https://robots.thoughtbot.com/rapid-cross-platform-mobile-development-with-react-native
Thoughts on how React Native enables code reuse and iteration, and a look at using the flexbox-based layout system on various platforms.
6 changes: 5 additions & 1 deletion react-styling.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,8 @@

- **"Styled Components or Glamor?"**
https://www.reddit.com/r/reactjs/comments/5eq8ew/styled_components_or_glamor/
Discussion and comparisons between some different CSS-in-JS libraries
Discussion and comparisons between some different CSS-in-JS libraries

- **The magic behind styled-components**
http://mxstbr.blog/2016/11/styled-components-magic-explained/
A look at how the styled-components library uses the new ES6 "tagged template literals" feature to interpolate arguments and build up CSS
8 changes: 7 additions & 1 deletion react-tutorials.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,13 @@
http://react.tips/from-react-to-flux-to-redux/
Four implementations of a shopping list application, built with varying approaches to help you see the differences: React/ES5, React/ES6, React/Flux/ES5, React/Redux/ES6.


- **30 Days of React**
https://www.fullstackreact.com/30-days-of-react/
A tutorial series that walks you through how to use React, from the ground up, in 30 bite-size articles covering everything from "What is React?" to data management to testing and deployment.

- **Create an Instagram-like App with Node.js, React, and Redux**
http://www.eloquentwebapp.com/instagram-app-node-react-redux/
An in-depth tutorial that demonstrates several advanced React concepts, including routing, hot loading, use of Redux and redux-saga, and more.

#### Paid Courses and Books

Expand Down
15 changes: 15 additions & 0 deletions redux-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,10 @@
http://bpxl-labs.github.io/redux-handbook/
Black Pixel's guidelines for project/app structure and usage

- **Tips for a Better Redux Architecture: Lessons for Enterprise Scale**
https://hashnode.com/post/tips-for-a-better-redux-architecture-lessons-for-enterprise-scale-civrlqhuy0keqc6539boivk2f
Thoughts on good patterns and approaches in a large Redux app, including use of action creators instead of `dispatch` in components, module/container file structure, using sagas for flow control, and more.


#### Redux Best Practices

Expand Down Expand Up @@ -127,9 +131,15 @@
http://goshakkk.name/redux-antipattern-mapstatetoprops/
An analysis of a somewhat common Redux anti-pattern, where `mapStateToProps` is doing too little, shifting all the domain knowledge into the component that should not be aware of it.

- **Learning and scaling a React/Redux app with a distributed team**
https://devblog.xero.com/learning-and-scaling-a-react-redux-app-with-a-distributed-team-e4c397def187
Lessons learned from working with a large application with many features, including use of common components, sagas, project structure, and utility libraries


#### Encapsulation and Reusability

**Related topics**: [Redux Techniques - Selectors](./redux-techniques.md#selectors-and-normalization)

- **Scalable Frontend with Elm or Redux**
https://github.com/slorber/scalable-frontend-with-elm-or-redux
A repo containing ongoing discussion about ways to handle fully encapsulated reusable chunks of logic and components in Redux, with a number of submitted approaches being compared.
Expand Down Expand Up @@ -166,6 +176,7 @@
http://randycoulman.com//blog/2016/09/13/encapsulating-the-redux-state-tree/
http://randycoulman.com/blog/2016/09/20/redux-reducer-selector-asymmetry/
http://randycoulman.com/blog/2016/09/27/modular-reducers-and-selectors/
http://randycoulman.com/blog/2016/11/29/globalizing-redux-selectors
A blog series discussing approaches to encapsulating Redux data using selectors and other related approaches

- **Redux State Keys - A predictable yet dynamic substate**
Expand All @@ -187,6 +198,10 @@
- **Redux Stack: Modular Redux Configuration**
https://medium.com/@jondot/redux-stack-modular-redux-configuration-ec96412a2262
Discussion of a small library that tries to make it easier to hook together different Redux addons.

- **Scoped Selectors for Redux Modules**
http://www.datchley.name/scoped-selectors-for-redux-modules/
A follow-on to Randy Coulman's series on local vs global selectors, discussing tradeoffs in approaches for defining and managing selectors.


#### Variations on Redux Architectures
Expand Down
10 changes: 9 additions & 1 deletion redux-middleware.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@
https://medium.com/@rajaraodv/using-middlewares-in-react-redux-apps-f7c9652610c6
A description of what a middleware is, and how it works in Redux

- **ReactCasts #6: Redux Middleware**
https://www.youtube.com/watch?v=T-qtHI1qHIg
A screencast that describes how middleware fit into Redux, their uses, and how to implement a custom middleware


#### Middleware Techniques

Expand All @@ -56,4 +60,8 @@

- **You Aren't Using Redux Middleware Enough**
https://medium.com/@jacobp100/you-arent-using-redux-middleware-enough-94ffe991e6
Suggestions for using middleware to solve a number of interesting use cases
Suggestions for using middleware to solve a number of interesting use cases

- **Defining user on-boarding flows with Redux middleware**
https://medium.com/@JohnRandom/defining-user-on-boarding-flows-with-redux-middlewares-217885acbafc
Demonstrates implementing an on-boarding feature by implementing a Redux middleware to track user behavior and dispatch actions in response.
4 changes: 4 additions & 0 deletions redux-side-effects.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@
https://daveceddia.com/what-is-a-thunk/
A quick explanation for what the word "thunk" means in general, and for Redux specifically..

- **"Controversial opinion: redux-thunk is too powerful"**
https://twitter.com/intelligibabble/status/800103510624727040
https://twitter.com/dan_abramov/status/800310164792414208
Some discussion on the pros and cons of redux-thunk's flexibility and usage, as well as possible issues with multiple dispatches in a row.

#### Sagas

Expand Down
15 changes: 15 additions & 0 deletions redux-techniques.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@

#### Selectors and Normalization

**Related topics**: [Redux Architecture - Encapsulation](./redux-architecture.md#encapsulation-and-reusability]

- **Querying a Redux Store**
https://medium.com/@adamrackis/querying-a-redux-store-37db8c7f3b0f
A look at best practices for organizing and storing data in Redux, including normalizing data and use of selector functions.
Expand Down Expand Up @@ -76,6 +78,15 @@
http://blog.isquaredsoftware.com/2016/10/practical-redux-part-1-redux-orm-basics/
http://blog.isquaredsoftware.com/2016/10/practical-redux-part-2-redux-orm-concepts-and-techniques/
A look at how Redux-ORM can help manage normalized data in a Redux store, including use cases, basic usage, key concepts, and advanced techniques.

- **"How do you add/remove to a redux store generated with normalizr?**
http://stackoverflow.com/questions/34954726/how-do-you-add-remove-to-a-redux-store-generated-with-normalizr
Stack Overflow discussion of how to handle updates to normalized data

- **"Any deep-dive/advanced tutorials on reselect?"**
https://www.reddit.com/r/reactjs/comments/5dxasp/any_deepdiveadvanced_tutorials_on_reselect/
Discussion on passing arguments to Reselect selectors, and how to use "factory functions" to define per-component selectors for Redux `mapState` functions



#### UI and Widget Implementations
Expand All @@ -100,6 +111,10 @@
https://www.packtpub.com/books/content/creating-reusable-generic-modals-react-and-redux
A quick look at how to get results from generic dialogs like a ColorPicker, while keeping your Redux state serializable and component structure decoupled.

- **Animating with React, Redux, and D3**
https://medium.com/swizec-a-geek-with-a-hat/animating-with-react-redux-and-d3-80852153a25b
Explanation and examples of drawing animated particles using D3 to calculate new positions, Redux to store the state, and React to render them.


#### Redux and Forms

Expand Down
Loading

0 comments on commit 5b6308a

Please sign in to comment.