misago-markup.js 604 B

12345678910111213141516171819202122232425262728
  1. import React from "react"
  2. import onebox from "misago/services/one-box"
  3. export default class extends React.Component {
  4. componentDidMount() {
  5. onebox.render(this.documentNode)
  6. }
  7. componentDidUpdate(prevProps, prevState) {
  8. onebox.render(this.documentNode)
  9. }
  10. shouldComponentUpdate(nextProps, nextState) {
  11. return nextProps.markup !== this.props.markup
  12. }
  13. render() {
  14. return (
  15. <article
  16. className="misago-markup"
  17. dangerouslySetInnerHTML={{ __html: this.props.markup }}
  18. ref={node => {
  19. this.documentNode = node
  20. }}
  21. />
  22. )
  23. }
  24. }