当前位置: 首页 > 知识库问答 >
问题:

当我点击X按钮时,动画不会在React和Styled组件中播放

壤驷敏学
2023-03-14

我想创建弹出与样式组件添加动画淡入淡出。但问题是,当我通过点击X按钮关闭弹出窗口时,动画不会播放。下面是我的代码:

到{不透明度:1;}`;

const fadeOut=keyframes`来自{不透明:0;}

到{不透明度:1;}`;

*-webkit-scrollbar-thumb{background-color:#3aa4a4;border-radius:20px;border:3px实心透明;background-clip:content-box;}`

const PopupContent=styled.div高度:1000px;左衬垫:30px;填充-右:30px;

const PopupHeader=styled.divdisplay:flex;

类型PopupProps={showpopup:boolean;noroundkorners?:boolean;header:string;setshowpopup:dispatch ;children?:react.reactnode;}

导出const Popup=({showPopup,noroundborners,children,header,setShowPopup}:PopupProps)=>{const PopupRef=useRef();

const closePopup=(E:react.SyntheticEvent)=>{if(Popupref.Current===e.target){setShowPopup(false);}};

返回(<>{showPopup?({header} setShowPopup((prev:boolean)=>!prev)}/>{children}):null});};

共有1个答案

昝光临
2023-03-14

问题是一旦按下关闭按钮,组件就会被卸载。

  const closePopup = (e: React.SyntheticEvent) => {
 if (PopupRef.current === e.target) {
   setShowPopup(false);
 }   };

你cna放了一个超时来查看结束动画。

    const closePopup = (e: React.SyntheticEvent) => {
    if (PopupRef.current === e.target) {
        setTimeout(function() {
            setShowPopup(false);
        }, 300);
    }
};
 类似资料:
  • 当我一次又一次点击播放按钮时,它会同时播放多次。我想停止多重播放。这是代码: 媒体播放器和按钮的对象 按钮单击事件监听器以播放音频 按钮单击事件侦听器以停止音频 任何帮助都将不胜感激。谢谢

  • 什么是最好的方式有3种风格类型的基础上的道具?

  • 当我在设备上运行应用程序时单击增量按钮时,我的应用程序意外地强制执行这是我的activity_main.xml代码 这是我的mainactivity.java文件 这是调试报告05-23 22:14:45.695 297 36-29736/com.orton.birthdayCard E/AndroidRuntime:致命异常:主进程:com.orton.birthdayCard,PID:2973

  • 我在这里使用来制作一个UI应用程序。我创建了一个JFrame,带有一些按钮。当我点击这个按钮时,我想要一个新的JFrame,在这里有一些不同的内容。但是,我不想在这里加载新的JFrame。 我知道的一种方法是在第一个JFrame中的按钮的方法中将第二个JFrame的可视化设置为True。但是它再次加载了一个新的JFrame,我不希望这样。 我只想要一个JFrame,当我们点击不同的按钮时,它的内容

  • 一切正常,应用程序出现了。但当我点击任何切换按钮时,应用程序就会崩溃。 我试过了,但找不到问题。其实我的知识还不够,我是这个领域的新手。所以请帮帮我。 这是查看活动。JAVA 还有这只logcat 2020-03-18 03:16:50.407 31609-31609/? E/lpaper。wallper:运行时设置的未知位_标志:0x8000 2020-03-18 03:17:04.862 31

  • 我是个新手。如何只在React中单击按钮后才呈现组件? 我还想知道如何在点击按钮时刷新组件而不刷新整个页面。