Styles and Standards
Actions
We stick to the Flux Standard Action spec. This states that an action must take the following shape:
{
type: 'CONST',
meta: {
// Everything in 'meta' will *only* handled by middleware
},
payload: {
// Payload contains all data for use within a reducer
},
error: '' // An optional error parameter
}
By sticking to this format we separate middleware logic from reducer payloads.
Selectors
Name selectors with a get
prefix. For example, if your selector gets an array of blog post titles, it might be named getPostTitles
.
Why? If we name it postTitles
we'll have an import like import { postTitles } from './selectors';
at the top of our code, and nothing else will be able to be called postTitles within that entire file. Essentially we'll have to rename our props from postTitles
to something else.
Giving a prefix to all selectors means:
- We don't pollute component namespaces with the above issue
- It's easy to tell when something's a selector via the
get
prefix - It's easy to search and replace these names within your project