From f15cfde54ac6a8860002c3df117e918bd3c7431f Mon Sep 17 00:00:00 2001 From: John Otander Date: Thu, 22 Nov 2018 00:29:59 -0800 Subject: [PATCH 1/3] Assign props at the top level of render --- packages/mdx/mdx-hast-to-jsx.js | 2 +- packages/mdx/test/index.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mdx/mdx-hast-to-jsx.js b/packages/mdx/mdx-hast-to-jsx.js index 6d09ac292..ac569d353 100644 --- a/packages/mdx/mdx-hast-to-jsx.js +++ b/packages/mdx/mdx-hast-to-jsx.js @@ -108,7 +108,7 @@ function toJSX(node, parentNode = {}, options = {}) { this.layout = ${layout} } render() { - const { components = {} } = this.props + const { components = {}, ...props } = this.props return { this.layout = undefined; } render() { - const { components = {} } = this.props; + const { components = {}, ...props } = this.props; return ( From 953f5ca840b9b2db781451818e75202e3a0d4f45 Mon Sep 17 00:00:00 2001 From: John Otander Date: Thu, 22 Nov 2018 09:15:16 -0800 Subject: [PATCH 2/3] Set layout to null if not defined --- packages/mdx/mdx-hast-to-jsx.js | 2 +- packages/mdx/test/index.test.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mdx/mdx-hast-to-jsx.js b/packages/mdx/mdx-hast-to-jsx.js index ac569d353..bdde40a89 100644 --- a/packages/mdx/mdx-hast-to-jsx.js +++ b/packages/mdx/mdx-hast-to-jsx.js @@ -105,7 +105,7 @@ function toJSX(node, parentNode = {}, options = {}) { } class MDXContent extends React.Component { constructor(props) { super(props) - this.layout = ${layout} + this.layout = ${layout || 'null'} } render() { const { components = {}, ...props } = this.props diff --git a/packages/mdx/test/index.test.js b/packages/mdx/test/index.test.js index 31e099bdf..5289daa98 100644 --- a/packages/mdx/test/index.test.js +++ b/packages/mdx/test/index.test.js @@ -85,7 +85,7 @@ it('Should match sample blog post snapshot', async () => { "export default class MDXContent extends React.Component { constructor(props) { super(props); - this.layout = undefined; + this.layout = null; } render() { const { components = {}, ...props } = this.props; From 293867dfcae35c13a316295cab960e156e9d312f Mon Sep 17 00:00:00 2001 From: John Otander Date: Fri, 23 Nov 2018 08:48:47 -0800 Subject: [PATCH 3/3] Pass props in runtime as well --- packages/runtime/src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime/src/index.js b/packages/runtime/src/index.js index 12f2bdd6c..0cd13de63 100644 --- a/packages/runtime/src/index.js +++ b/packages/runtime/src/index.js @@ -37,7 +37,7 @@ export default ({ ...keys, `${code} - return React.createElement(MDXContent, { components });` + return React.createElement(MDXContent, { components, ...props });` ) return fn({}, React, ...values)