1.3.10 • Published 4 years ago

@siteone/react-server-router v1.3.10

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Server Router

Router that is completely handled on backend.

Supports directly GraphQL (and also is compatible with for example REST)

ApolloServerRouter

Declarative React component , that requires only two props:

  • templates: simple object, in keys are template names that gives us backend
  • loadingComponent: component that is shown while is router communicating with backend
  • onChange (optional) function, that will be invoked when the route is about to re-render
Example (for GraphQL):
import React from 'react'
import { MemoryRouter, Link, Switch } from 'react-router-dom'
import { ApolloProvider } from 'react-apollo'
import { ServerRouterApollo } from '@siteone/react-server-router'

const templatesMap = {
  DESTINATION: (data) => (<div {...data} />),
  HOMEPAGE: (data) => (<div {...data} />),
  404: (data) => (<div {...data} />),
  500: (data) => (<div {...data} />),
  503: (data) => (<div {...data} />),
  429: (data) => (<div {...data} />),
}

const loading = data => (<div>...loading...<br />{JSON.stringify(data.url)}</div>)

<ApolloProvider client={client}>
  <MemoryRouter>
    <div>
      <div>
        Top menu:
        <Link to="/">Home</Link>
        <Link to="/vole">Destinace: Hurghada</Link>
        <Link to="/kariera">Redir</Link>
        <Link to="/abdef">Error 404</Link>
      </div>
      <Switch>
        <ServerRouterApollo templates={templatesMap} loadingComponent={loading} />
      </Switch>
    </div>
  </MemoryRouter>
</ApolloProvider>

Version: 1.3.6

1.3.10

4 years ago

1.3.9

4 years ago

1.3.8

4 years ago

1.3.7

4 years ago

1.3.6

4 years ago

1.3.4

4 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.2.4

6 years ago

1.2.3

6 years ago

1.2.2

6 years ago

1.2.1

7 years ago

1.2.0

7 years ago

1.1.0

7 years ago

1.0.19

7 years ago

1.0.18

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago