Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <script src="https://npmcdn.com/redux@^3.5.2/dist/redux.min.js"></script>
  <script src="https://npmcdn.com/@reactivex/rxjs/dist/global/Rx.umd.js"></script>
  <script src="https://npmcdn.com/redux-observable/dist/redux-observable.min.js"></script>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
</body>
  <script>
    const { combineReducers, createStore, applyMiddleware } = Redux;
    const { combineEpics, createEpicMiddleware } = ReduxObservable;
    const rootReducer = combineReducers({ users });
    const rootEpic = combineEpics(fetchUserEpic);
    const epicMiddleware = createEpicMiddleware(rootEpic);
    const store = createStore(rootReducer,
      applyMiddleware(epicMiddleware)
    );
    /**
     * This is using raw HTML + redux.
     * 
     * You will most likely use some sort of UI framework
     * like React, Angular, etc
     */
    const renderApp = () => {
      const { users } = store.getState();
      const user = users['1'] || '';
      document.body.innerHTML = `
        <div>
          <h1>Fetch User Demo</h1>
          <button
            onclick="(${() => {
              store.dispatch(fetchUser('1'));
            }})();"
          >
            Fetch User Info
          </button>
          <div>
            ${user && `
              <textarea>${JSON.stringify(user, null, 2)}</textarea>
            `}
          </div>
        </div>
      `;
    };
    store.subscribe(renderApp);
    renderApp();
  </script>
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
jayphelpspro
0viewers