diff --git a/src/components/CodeEditor/CodeEditor.js b/src/components/CodeEditor/CodeEditor.js index 28e1a2098..9c1aab34e 100644 --- a/src/components/CodeEditor/CodeEditor.js +++ b/src/components/CodeEditor/CodeEditor.js @@ -35,8 +35,12 @@ class CodeEditor extends Component { componentDidUpdate(prevProps, prevState) { if (prevState.compiled !== this.state.compiled) { this._render(); - } else if (this.props.code !== prevProps.code) { - this.setState(this._updateState(this.props.code)); + } + } + + UNSAFE_componentWillReceiveProps(nextProps) { + if (this.props.code !== nextProps.code) { + this.setState(this._updateState(nextProps.code)); } } @@ -67,179 +71,174 @@ class CodeEditor extends Component { } return ( -
- + +
+ + Live JSX Editor + + +
+
+ +
+
+ {error && ( +
- - Live JSX Editor - - -
-
- -
-
- {error && ( -
-
- - Error - -
-
-                  {errorMessage}
-                
+ Error +
- )} - {!error && ( +
+                {errorMessage}
+              
+
+ )} + {!error && ( +
-
- Result -
-
+ Result
- )} -
- -
+
+
+ )} +
+ ); } diff --git a/src/components/CodeExample/CodeExample.js b/src/components/CodeExample/CodeExample.js index 2ee9fb977..31fe7e2c6 100644 --- a/src/components/CodeExample/CodeExample.js +++ b/src/components/CodeExample/CodeExample.js @@ -6,15 +6,21 @@ import CodeEditor from '../CodeEditor/CodeEditor'; class CodeExample extends Component { render() { - const {children, code, loaded} = this.props; + const {children, code, id, loaded} = this.props; return (
{ - lookup[node.mdAbsolutePath] = node.code; + lookup[node.mdAbsolutePath] = node; return lookup; }, {}); @@ -257,15 +257,19 @@ class Home extends Component { />
- {examples.edges.map(({node}, index) => ( - -

{node.frontmatter.title}

-
- - ))} + {examples.edges.map(({node}, index) => { + const snippet = code[node.fileAbsolutePath]; + return ( + +

{node.frontmatter.title}

+
+ + ); + })}