Echo JS 0.11.0

<~>

tracker1 2899 days ago. link 2 points
Better demonstration than most on this topic... It's important to understand how to compose higher level components from lower-level ones.. in the case of the simple redirect component wrappers, they could very well be static functions with the dispatch action inside the render function...

    // require-auth.js
    export default (redirectTo, component) => (props, context) => {
      const {user} = context.store.getState();
      if (user) return component;

      setTimeout(() => context.store.dispatch(push(redirectTo)), 0);
      return null;
    }

Having a defered dispatch method would make it a bit easier, in any case, it can be simpler still...

Just the same, very nice article.