MUI の Alert コンポーネントのトランジション
最終更新日:2024-08-03
    
    MUI
 の Alert
 コンポーネントにトランジションを追加することで、表示および非表示時のアニメーションを設定することができます。  
基本的な使い方
トランジションを簡単に追加するために Collapse
 コンポーネントや Slide
 コンポーネントを使用することができます。  
Collapse
 コンポーネントを使用した例
import * as React from 'react';
import Alert from '@mui/material/Alert';
import Collapse from '@mui/material/Collapse';
import Button from '@mui/material/Button';
import Stack from '@mui/material/Stack';
export default function TransitionAlert() {
  const [open, setOpen] = React.useState(true);
  return (
    <Stack sx={{ width: '100%' }} spacing={2}>
      <Button
        variant="outlined"
        onClick={() => setOpen(!open)}
      >
        Toggle Alert
      </Button>
      <Collapse in={open}>
        <Alert severity="error">This is an error alert — check it out!</Alert>
      </Collapse>
    </Stack>
  );
}
Slide
 コンポーネントを使用した例  
import * as React from 'react';
import Alert from '@mui/material/Alert';
import Slide from '@mui/material/Slide';
import Button from '@mui/material/Button';
import Stack from '@mui/material/Stack';
import { TransitionProps } from '@mui/material/transitions';
const duration = 500; // トランジションの持続時間を500msに設定
const CustomSlide = (props: TransitionProps) => {
  return <Slide {...props} timeout={duration} />;
};
export default function CustomSlideAlert() {
  const [open, setOpen] = React.useState(true);
  return (
    <Stack sx={{ width: '100%' }} spacing={2}>
      <Button
        variant="outlined"
        onClick={() => setOpen(!open)}
      >
        Toggle Alert
      </Button>
      <CustomSlide direction="up" in={open} mountOnEnter unmountOnExit>
        <Alert severity="error">This is an error alert — check it out!</Alert>
      </CustomSlide>
    </Stack>
  );
}
    
