Example #1
0
File: index.js Project: xing/hops
export default render(
  <div>
    <Link to="/two">Link to two</Link>
    <ServerDataContext.Consumer>
      {({ method }) => <output>{method}</output>}
    </ServerDataContext.Consumer>
    <Switch>
      <Route path="/" exact render={() => <h1>home</h1>} />
      <Route path="/two" exact render={() => <h1>two</h1>} />
      <Route path="/status" exact render={() => <Status code={418} />} />
      <Route path="/redirect" exact render={() => <Redirect to="/two" />} />
      <Route
        path="/header"
        exact
        render={() => <Header name="X-Foo" value="Bar" />}
      />
      <Route path="/flow" exact render={() => <FlowText text="flow" />} />
      <Route path="/import" exact render={() => <Text text="imported" />} />
      <Route path="/config-hoc" exact render={() => <Config />} />
      <Route
        path="/config-context"
        exact
        render={() => (
          <ConfigContext.Consumer>
            {({ context }) => <h1>{context}</h1>}
          </ConfigContext.Consumer>
        )}
      />
      <Miss />
    </Switch>
  </div>
);
Example #2
0
File: index.js Project: xing/hops
import React from 'react';
import { importComponent, render } from 'hops';

const Text = importComponent('./text');

const loader = load =>
  Promise.race([new Promise((_, reject) => setTimeout(reject, 10000)), load()]);

const renderText = ({ Component, loading, ...props }) => {
  return loading ? <p>Fetching content…</p> : <Component {...props} />;
};

export function App() {
  return <Text loader={loader} render={renderText} subject="world" />;
}

export default render(<App />);
Example #3
0
  (state) => state[namespace],
  {
    update: createAction(namespace)
  }
)(
  createClass({
    displayName: 'Home',
    propTypes: {
      greeting: PropTypes.string,
      update: PropTypes.func
    },
    componentDidMount() {
      const { update } = this.props;
      update({'greeting': {'$set': 'Hello World!'}});
    },
    render() {
      const { greeting } = this.props;
      return (
        <h1 className={ headline }>{ greeting }</h1>
      );
    }
  })
);

export const routes = (
  <Route path='/' component={ Home }/>
);
export const reducers = {[namespace]: createReducer(namespace)};

export default render({ routes, reducers });