This document details some tips and tricks for creating redux containers. Specifically, this document is looking at the mapDispatchToProps argument of the connect function from [react-redux][react-redux]. There are many ways to write the same thing in redux. This gist covers the various forms that mapDispatchToProps can take.
| type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; | |
| export function withAppContext< | |
| P extends { appContext?: AppContextInterface }, | |
| R = Omit<P, 'appContext'> | |
| >( | |
| Component: React.ComponentClass<P> | React.StatelessComponent<P> | |
| ): React.SFC<R> { | |
| return function BoundComponent(props: R) { | |
| return ( |
| <?php | |
| /** | |
| * Programmatically install and activate wordpress plugins | |
| * | |
| * Usage: | |
| * 1. Edit the $pluginSlugs array at the beginning of this file to include the slugs of all the | |
| * plugins you want to install and activate | |
| * 2. Upload this file to the wordpress root directory (the same directory that contains the | |
| * 'wp-admin' directory). | |
| * 3. Navigate to <your-domain-wordpress-root>/install-wp-plugins.php (If wordpress is installed |
| function autobind<TFunction extends Function>(constructor: TFunction):TFunction { | |
| const newConstructor = function(...args) { | |
| constructor.apply(this, args); | |
| for (const property in this) { | |
| if (typeof this[property] !== typeof Function) { | |
| continue; | |
| } | |
| this[property] = this[property].bind(this); | |
| } |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't