GlobalModal.tsx 832 B

1234567891011121314151617181920212223242526272829303132333435
  1. // GlobalModal.tsx
  2. import React from 'react';
  3. import { useSelector, useDispatch } from 'react-redux';
  4. import { View, Text, Button } from '@tarojs/components';
  5. import { hideModal } from '@/store/modal';
  6. import './GlobalModal.scss'
  7. const GlobalModal: React.FC = () => {
  8. const modal = useSelector((state: any) => state.modal);
  9. const dispatch = useDispatch();
  10. const handleClose = () => {
  11. dispatch(hideModal());
  12. };
  13. if (!modal.isOpen) {
  14. return null;
  15. }
  16. return (
  17. <View className="modal">
  18. <View className="modal-content">
  19. <Text className="modal-title">{modal.title}</Text>
  20. <Text className="modal-content">{modal.content}</Text>
  21. <Button className="modal-close" onClick={handleClose}>
  22. Close
  23. </Button>
  24. </View>
  25. </View>
  26. );
  27. };
  28. export default GlobalModal;