diff options
Diffstat (limited to 'packages/gitbook-core/src/renderComponent.js')
-rw-r--r-- | packages/gitbook-core/src/renderComponent.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/gitbook-core/src/renderComponent.js b/packages/gitbook-core/src/renderComponent.js new file mode 100644 index 0000000..365a037 --- /dev/null +++ b/packages/gitbook-core/src/renderComponent.js @@ -0,0 +1,25 @@ +const React = require('react'); +const Helmet = require('react-helmet'); +const ReactRedux = require('react-redux'); +const { InjectedComponent } = require('./components/InjectedComponent'); + +/** + * Render a registered component from a store. + * This method is intended for server-side use in "gitbook". + * + * @param {ReduxStore} store + * @param {Descriptor} matching + * @return {Object} { el, meta } + */ +function renderComponent(store, matching) { + const el = ( + <ReactRedux.Provider store={store}> + <InjectedComponent matching={matching} /> + </ReactRedux.Provider> + ); + const head = Helmet.rewind(); + + return { el, head }; +} + +module.exports = renderComponent; |