componentsdirectory should contain React Native JSX components, which take their inputs in as
props. In Flux/Redux parlance the components should be dumb/presentation components, meaning that components should not be
connect()ed to the redux store directly, but instead used by smart/container components.
React.createClassshould be avoided, as it will be deprecated in 15.5
.ios.jsfiles for the component. In minor cases the
React.Platform.OSproperty can be used to branch between platforms.
connect()ing the View component to the Redux store.
connect()takes in two arguments, first
mapStateToPropswhich selects relevant parts of the application state to pass to the view, and second
mapActionsToProps, which binds Action Creators to the store's dispatcher so the actions are executed in the right context. These functions are often called selectors.
mapStateToPropsis a good practice, but avoid using
mapActionsToPropsin favour of calling
dispatchourselves in the view. In our experience this leads to simpler, easier to reason about code (and a little less verbose PropTypes on the View).