Просмотр исходного кода

Added null check & got rid of proptypes

Taichi Masuyama 4 лет назад
Родитель
Сommit
d17d1c2ea3
1 измененных файлов с 14 добавлено и 13 удалено
  1. 14 13
      packages/app/src/components/Admin/App/V5PageMigrationModal.tsx

+ 14 - 13
packages/app/src/components/Admin/App/V5PageMigrationModal.tsx

@@ -1,5 +1,4 @@
-import React, { FC, useCallback } from 'react';
-import PropTypes from 'prop-types';
+import React, { FC } from 'react';
 import {
   Modal, ModalHeader, ModalBody, ModalFooter,
 } from 'reactstrap';
@@ -7,15 +6,23 @@ import { useTranslation } from 'react-i18next';
 
 type V5PageMigrationModalProps = {
   isModalOpen: boolean
-  onConfirm: () => Promise<any>;
-  onCancel: () => void;
+  onConfirm?: () => Promise<any>;
+  onCancel?: () => void;
 };
 
-export const V5PageMigrationModal: FC<V5PageMigrationModalProps> = (props) => {
+export const V5PageMigrationModal: FC<V5PageMigrationModalProps> = (props: V5PageMigrationModalProps) => {
   const { t } = useTranslation();
 
   const onCancel = () => {
-    props.onCancel();
+    if (props.onCancel != null) {
+      props.onCancel();
+    }
+  };
+
+  const onConfirm = () => {
+    if (props.onConfirm != null) {
+      props.onConfirm();
+    }
   };
 
   return (
@@ -41,7 +48,7 @@ export const V5PageMigrationModal: FC<V5PageMigrationModalProps> = (props) => {
         <button
           type="button"
           className="btn btn-outline-primary ml-3"
-          onClick={props.onConfirm}
+          onClick={onConfirm}
         >
           Start Upgrading
         </button>
@@ -49,9 +56,3 @@ export const V5PageMigrationModal: FC<V5PageMigrationModalProps> = (props) => {
     </Modal>
   );
 };
-
-V5PageMigrationModal.propTypes = {
-  isModalOpen: PropTypes.bool.isRequired,
-  onConfirm: PropTypes.func.isRequired,
-  onCancel: PropTypes.func.isRequired,
-};