Skip to content

Learning Resources

Will Thomson edited this page Nov 21, 2019 · 4 revisions

FlexBox

Flexbox is a CSS tool for defining dynamic sizing and arrangement in interfaces that respond well to screen/window size changes.

React Native flexbox implementation is very similar but has some syntactic and API differences.

flexboxin5 provides a nice interactive guide for figuring out the flexbox parameters that you may want.

Redux

Redux is a state management tool which helps implement the flux architectural pattern. It was designed by facebook for react, but is not strictly a react only tool.

It is a more advanced topic that has a bit of a learning curve, but once understood it makes the state of an application and the manipulation of that state far simpler and consistent. The redux docs are a great place to start, once you are more familiar with JS, react & react-native.

Finding Components and tools

Node Package Manager (NPM) is a great start and the main source of JS dependancies online. JS.Coach is a good opinionated place to explore NPM packages, with better potential for finding powerful gems (that you may have missed directly in NPM or Google).

Coding Style

We aim to use the latest Javascript language features in this repository. They are ever evolving, so keep learning and make the case to support new features if it makes our code easier.

This repository has eslint rules configured that should help detect mistakes be it invalid code, or breaking style rules.

In terms of formatting, we use prettier to automatically format code in a consistent way. Code how you want, then let prettier make it consistent with the codebase for you.