React.Context was overkill for this purpose, not using it

Also using Gatsby's built-in location property
This commit is contained in:
Jeff Avallone
2019-01-12 21:47:36 -05:00
parent 2d754227b1
commit 13cfcca85e
8 changed files with 236 additions and 191 deletions
+9 -6
View File
@@ -1,14 +1,11 @@
import React from 'react';
import PropTypes from 'prop-types';
import PlaceholderIcon from 'react-feather/dist/icons/file-text';
import style from './style.module.css';
import AppContext from 'components/AppContext';
class Render extends React.PureComponent {
static contextType = AppContext
svgContainer = React.createRef()
provideSVGData() {
@@ -17,7 +14,7 @@ class Render extends React.PureComponent {
}
const svg = this.svgContainer.current.querySelector('svg');
this.context.setSvgMarkup({
this.props.onRender({
svg: svg.outerHTML,
width: svg.getAttribute('width'),
height: svg.getAttribute('height')
@@ -33,7 +30,7 @@ class Render extends React.PureComponent {
}
render() {
const { syntax, expr } = this.context;
const { syntax, expr } = this.props;
console.log('Render:', syntax, expr); // eslint-disable-line no-console
@@ -44,4 +41,10 @@ class Render extends React.PureComponent {
}
}
Render.propTypes = {
syntax: PropTypes.string,
expr: PropTypes.string,
onRender: PropTypes.func.isRequired
};
export default Render;