0.1.0 • Published 8 years ago

kneejerk v0.1.0

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

kneejerk

Current Version Build Status via Travis CI Dependencies

belly-button-style

KneeJerk is a minimal utility for server side React rendering. KneeJerk is server framework agnostic. You simply pass in a react-router configuration and URL, and KneeJerk renders the HTML using react-router. You can optionally pass in a root component to wrap the router output in order to achieve full page rendering.

const KneeJerk = require('kneejerk');

KneeJerk({
  root: require('your-html-wrapper.jsx'),
  routes: require('your-routes-file.jsx'),
  location: '/dashboard'
}, (err, results) => {
  reply(results.markup);
});

Methods

KneeJerk exports a single function, described below.

kneeJerk(options, callback)

  • Arguments
    • options (object) - A configuration object supporting the following keys.
      • location (string) - The URL path to match in the react-router. Required.
      • routes (object) - The routes configuration passed to the react-router.
      • render (string) - The react-dom rendering function. This can be set to null to disable rendering. Defaults to 'renderToStaticMarkup'.
      • root (function) - A react component used to wrap the rendered output. This is used to create a complete server rendered page. This can be explicitly set to null to prevent adding a wrapper. Defaults to null.
      • rootDoctype (string) - A DOCTYPE to prepend to the root rendering. Defaults to '<!DOCTYPE html>'.
      • rootMarkupProp (string) - The property named used to pass rendered markup to the root component for wrapping. Defaults to 'markup'.
    • callback (function) - A callback function receiving the following arguments.
      • err (object) - A Boom error representing any problem that occurs. If no match is made by the router, this will contain a Boom 404 error. This will be null if no error occurs.
      • results (object) - An object containing the following keys.
        • redirectLocation (object) - An object containing information about a potential redirection. This comes directly from the react-router output.
        • renderProps (object) - An object containing the props you should pass to the routing context. This comes directly from the react-router output.
        • markup (string) - The rendered output of the matched route, or the root rendering if one was provided. If there is no rendered output for any reason, this will be null.
  • Returns
    • Nothing. See arguments passed to callback.