PreviewWithSuspense.jsx 628 B

123456789101112131415161718192021222324252627282930
  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) {
  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} />
  17. </div>
  18. );
  19. }
  20. PagePreview.propTypes = {
  21. setMarkdown: PropTypes.func,
  22. markdown: PropTypes.string,
  23. error: PropTypes.string,
  24. };
  25. export default withLoadingSppiner(PagePreview);