diff --git a/Markdown.js b/Markdown.js index 30d8ec8..a03506d 100644 --- a/Markdown.js +++ b/Markdown.js @@ -1,11 +1,11 @@ -var React = require('react-native'); -var { +import React, { Component } from 'react'; +import { View -} = React; -var _ = require('lodash'); -var SimpleMarkdown = require('simple-markdown'); +} from 'react-native'; +import _ from 'lodash'; +import SimpleMarkdown from 'simple-markdown'; -var styles = { +const styles = { view: { }, codeBlock: { @@ -116,17 +116,15 @@ var styles = { }; -var Markdown = React.createClass({ +class Markdown extends Component { - getDefaultProps: function() { - return { - style: styles - }; - }, + static defaultProps = { + style: styles + }; - componentWillMount: function() { - var mergedStyles = _.merge({}, styles, this.props.style); - var rules = require('./rules')(mergedStyles); + componentWillMount() { + const mergedStyles = _.merge({}, styles, this.props.style); + let rules = require('./rules')(mergedStyles); rules = _.merge({}, SimpleMarkdown.defaultRules, rules); var parser = SimpleMarkdown.parserFor(rules); @@ -135,15 +133,15 @@ var Markdown = React.createClass({ return parser(blockSource, {inline: false}); }; this.renderer = SimpleMarkdown.reactFor(SimpleMarkdown.ruleOutput(rules, 'react')); - }, + } - render: function() { + render() { - var child = _.isArray(this.props.children) + const child = _.isArray(this.props.children) ? this.props.children.join('') : this.props.children; - var tree = this.parse(child); + const tree = this.parse(child); return {this.renderer(tree)}; } -}); +} -module.exports = Markdown; +export default Markdown; diff --git a/rules.js b/rules.js index f1956d0..8f89cf0 100644 --- a/rules.js +++ b/rules.js @@ -1,9 +1,9 @@ -var React = require('react-native'); +var React = require('react'); var { Image, Text, View, -} = React; +} = require('react-native'); var SimpleMarkdown = require('simple-markdown'); var _ = require('lodash');