diff --git a/README.md b/README.md index 56bbffc..7050879 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # `react-mathjax` +#### (updated with React 15.6.1) [![NPM version](https://badge.fury.io/js/react-mathjax.svg)](http://badge.fury.io/js/react-mathjax) diff --git a/package.json b/package.json index 2cc532b..8174575 100644 --- a/package.json +++ b/package.json @@ -33,12 +33,14 @@ "devDependencies": { "babelify": "^7.3.0", "browserify": "^13.1.1", + "create-react-class": "^15.6.0", "eslint": "^3.12.0", "eslint-config-gitbook": "^1.4.0", "gh-pages": "^0.12.0", "http-server": "^0.9.0", - "react": "^15.4.1", - "react-dom": "^15.4.1" + "prop-types": "^15.5.10", + "react": "^15.6.1", + "react-dom": "^15.6.1" }, "dependencies": { "babel-cli": "^6.18.0", diff --git a/src/context.js b/src/context.js index d21afc5..71e8c4f 100644 --- a/src/context.js +++ b/src/context.js @@ -1,5 +1,7 @@ /* global MathJax */ const React = require('react'); +const createReactClass = require('create-react-class'); +const PropTypes = require('prop-types'); const loadScript = require('load-script'); const DEFAULT_SCRIPT = @@ -17,20 +19,8 @@ const DEFAULT_OPTIONS = { * Context for loading mathjax * @type {[type]} */ -const MathJaxContext = React.createClass({ - propTypes: { - children: React.PropTypes.node.isRequired, - script: React.PropTypes.oneOfType([ - React.PropTypes.string, - React.PropTypes.oneOf([false]) - ]), - options: React.PropTypes.object - }, - - childContextTypes: { - MathJax: React.PropTypes.object - }, - +const MathJaxContext = createReactClass({ + getDefaultProps() { return { script: DEFAULT_SCRIPT, @@ -75,4 +65,18 @@ const MathJaxContext = React.createClass({ } }); + +MathJaxContext.propTypes = { + children: PropTypes.node.isRequired, + script: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.oneOf([false]) + ]), + options: PropTypes.object +}; + +MathJaxContext.childContextTypes = { + MathJax: PropTypes.object +}; + module.exports = MathJaxContext; diff --git a/src/node.js b/src/node.js index ea4c1e6..439ced4 100644 --- a/src/node.js +++ b/src/node.js @@ -1,21 +1,14 @@ const React = require('react'); +const createReactClass = require('create-react-class'); +const PropTypes = require('prop-types'); const process = require('./process'); /** * React component to render maths using mathjax * @type {ReactClass} */ -const MathJaxNode = React.createClass({ - propTypes: { - inline: React.PropTypes.bool, - children: React.PropTypes.node.isRequired, - onRender: React.PropTypes.func - }, - - contextTypes: { - MathJax: React.PropTypes.object - }, - +const MathJaxNode = createReactClass({ + getDefaultProps() { return { inline: false, @@ -137,4 +130,15 @@ const MathJaxNode = React.createClass({ } }); + +MathJaxNode.propTypes = { + inline: PropTypes.bool, + children: PropTypes.node.isRequired, + onRender: PropTypes.func +}; + +MathJaxNode.contextTypes = { + MathJax: PropTypes.object +}; + module.exports = MathJaxNode;