PreviewWithSuspense.jsx 710 B

12345678910111213141516171819202122232425262728293031
  1. import React from 'react';
  2. import PropTypes from 'prop-types';
  3. import Preview from './Preview';
  4. import { withLoadingSppiner } from '../SuspenseUtils';
  5. function PagePreview(props) {
  6. if (props.markdown == null || props.pagePath == null) {
  7. if (props.error !== '') {
  8. return props.error;
  9. }
  10. throw (async() => {
  11. await props.setMarkdown();
  12. })();
  13. }
  14. return (
  15. <div className="linkedit-preview">
  16. <Preview markdown={props.markdown} pagePath={props.pagePath} />
  17. </div>
  18. );
  19. }
  20. PagePreview.propTypes = {
  21. setMarkdown: PropTypes.func,
  22. markdown: PropTypes.string,
  23. pagePath: PropTypes.string,
  24. error: PropTypes.string,
  25. };
  26. export default withLoadingSppiner(PagePreview);