diff --git a/README.md b/README.md index eff829c..b8f7d67 100644 --- a/README.md +++ b/README.md @@ -370,7 +370,6 @@ See the [example](https://github.com/c8r/x0/tree/master/examples/webpack-config) - [ ] pass RouterState props to view - [ ] props.Component/children in custom apps -- [ ] Head component with react helmet - [ ] changelog/docs - [x] require.context `_app` - [x] peer deps @@ -384,6 +383,7 @@ See the [example](https://github.com/c8r/x0/tree/master/examples/webpack-config) - [x] minimatch - [x] move client modules to src - [x] adjust resolve +- [ ] ~~Head component with react helmet~~ doesn't work ### Breaking diff --git a/docs/_app.js b/docs/_app.js index 4b97f35..705f6f3 100644 --- a/docs/_app.js +++ b/docs/_app.js @@ -1,7 +1,7 @@ import React from 'react' import * as scope from 'rebass' import { Link } from 'react-router-dom' -import { ScopeProvider, Head } from '../components' +import { ScopeProvider } from '../components' import { Flex, Box, @@ -15,19 +15,19 @@ export default class App extends React.Component { } render () { - const { routes, route, render } = this.props - - // return render() + const { + routes, + route, + children, + // alternative to props.children + render, + } = this.props return ( - - hello - - {false ? ( - {render()} + {children} ) : ( @@ -44,7 +44,7 @@ export default class App extends React.Component { - {render()} + {children} diff --git a/lib/build.js b/lib/build.js index cf91087..ad17376 100644 --- a/lib/build.js +++ b/lib/build.js @@ -7,7 +7,6 @@ const merge = require('webpack-merge') const React = require('react') const { renderToString, renderToStaticMarkup } = require('react-dom/server') const { StaticRouter } = require('react-router-dom') -const { Helmet } = require('react-helmet') const semver = require('semver') const util = require('util') @@ -90,7 +89,8 @@ const renderHTML = ({ const sheet = new ServerStyleSheet() html = render( sheet.collectStyles( - React.createElement(App.default, { routes, path }) + app + // React.createElement(App.default, { routes, path }) ) ) css = sheet.getStyleTags() @@ -114,23 +114,9 @@ const renderHTML = ({ html = render(app) break } - const helmet = Helmet.renderStatic() - const head = parseHelmet(helmet) - // doesn't seem to be working... - // console.log('head', head) return { html, css, path, props } } -const parseHelmet = helmet => [ - helmet.title.toString(), - helmet.link.toString(), - helmet.meta.toString(), - helmet.script.toString(), - helmet.noscript.toString(), - helmet.style.toString(), - helmet.base.toString(), -].filter(n => !!n && n.length).join('\n') - const remove = filename => { fs.remove(filename, err => { if (err) console.log(err) diff --git a/package.json b/package.json index 9582f3d..9d591b4 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "react": "^16.4.1", "react-dev-utils": "^5.0.1", "react-dom": "^16.4.1", - "react-helmet": "^5.2.0", "react-live": "^1.10.1", "react-router": "^4.3.1", "react-router-dom": "^4.3.1", @@ -72,11 +71,11 @@ "remark-slug": "^5.0.0", "semver": "^5.5.0", "stringify-object": "^3.2.2", + "styled-system": "^2.3.1", "update-notifier": "^2.5.0", "webpack": "^4.10.2", "webpack-merge": "^4.1.3", - "webpack-serve": "^1.0.4", - "styled-system": "^2.3.1" + "webpack-serve": "^1.0.4" }, "devDependencies": { "@compositor/logo": "^1.4.0", diff --git a/src/Head.js b/src/Head.js deleted file mode 100644 index c3e3994..0000000 --- a/src/Head.js +++ /dev/null @@ -1,7 +0,0 @@ -export { Helmet as default } from 'react-helmet' - -// only needed if customizing api -// import React from 'react' -// import { Helmet } from 'react-helmet' -// export default props => -// diff --git a/src/entry.js b/src/entry.js index 6ce9f13..60ed193 100644 --- a/src/entry.js +++ b/src/entry.js @@ -119,6 +119,26 @@ export default class Root extends React.Component { path = '/' } = this.props + const render = appProps => ( + routes.map(({ Component, ...route }) => ( + ( + + + + + + )} + /> + )) + ) + return ( ( - routes.map(({ Component, ...route }) => ( - ( - - - - - - )} - /> - )) - )} + render={render} + children={render()} /> )} /> diff --git a/src/index.js b/src/index.js index aab87b0..cc1fabf 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,5 @@ export { Link, NavLink } from 'react-router-dom' export { default as ScopeProvider } from './ScopeProvider' -export { default as Head } from './Head' export { default as LiveEditor } from './LiveEditor' export { default as LivePreview } from './LivePreview' export { default as FileList } from './FileList'