使用React Hooks構(gòu)建CSS的transition和animation

    Web動(dòng)效在Web應(yīng)用中所起的作用就不說了。愛掏網(wǎng) - it200.com有人說,Web動(dòng)效可以給Web起到錦上添花效果,也有人說,Web動(dòng)效可以增加用戶的粘性和吸引力。愛掏網(wǎng) - it200.com就目前來說,在Vue框架體系下,可以使用組件來構(gòu)建Web動(dòng)畫效果,其實(shí)在React體系下,也可以使用類似的方式來給Web元素添加動(dòng)畫效果。愛掏網(wǎng) - it200.com接下來,就和大家一起探討,在React框架如何將CSS的trasitionanimation運(yùn)用到元素中,讓W(xué)eb元素動(dòng)起來。愛掏網(wǎng) - it200.com如果你對(duì)這方面知識(shí)感興趣的話,歡迎繼續(xù)往下閱讀。愛掏網(wǎng) - it200.com

    不知道你是否像我一樣,在使用React構(gòu)建的組件,在添加動(dòng)效的時(shí)候,總是和自己期望的有所差異。愛掏網(wǎng) - it200.com比如說,構(gòu)建一個(gè)彈窗,彈窗出來的時(shí)候有動(dòng)效,彈窗移除的時(shí)候沒有動(dòng)效。愛掏網(wǎng) - it200.com就像下面這樣的一個(gè)效果:

    你可能已經(jīng)發(fā)現(xiàn)了,彈窗窗現(xiàn)的時(shí)候,會(huì)有一個(gè)fadeIn效果,但彈窗移除時(shí)并看不到fadeOut效果。愛掏網(wǎng) - it200.com這主要是因?yàn)椋瑥棿耙瞥龝r(shí),整個(gè)彈窗的DOM直接就刪除了,因此也沒有機(jī)會(huì)讓你能看到fadeOut效果。愛掏網(wǎng) - it200.com那么在React構(gòu)建的應(yīng)用中,如何來改善這一點(diǎn)呢?這也是接下來要和大家一起探討的話題。愛掏網(wǎng) - it200.com

    在Vue框架中提供了組件,在不同的生命周期中添加相應(yīng)的類名,并在相應(yīng)的類名中設(shè)置樣式,從而給Vue組件添加動(dòng)效:

    在React中,我們可以使用一個(gè)類似Vue的組件,即 react-transition-group 可以給React組件添加動(dòng)畫效果。愛掏網(wǎng) - it200.com

    react-transition-group提供了四個(gè)組件,愛掏網(wǎng) - it200.com比如下面這個(gè)示例,就是采用組件構(gòu)建的一個(gè)帶有動(dòng)效的組件:

    // src/index.js
    import React, { useState } from 'react';
    import ReactDOM from 'react-dom';
    import { Container, Button, Alert } from 'react-bootstrap';
    import { CSSTransition } from 'react-transition-group';
    
    import './styles.css';
    
    function ModalComponent() {
        const [showButton, setShowButton] = useState(true);
        const [showMessage, setShowMessage] = useState(false);
        return (
            
                {showButton && (
                    
                )}
                 setShowButton(false)}
                    onExited={() => setShowButton(true)}
                >
                     setShowMessage(false)}
                    >
                        
                            Animated alert message
                        

    This alert message is being transitioned in and out of the DOM.

    ); } ReactDOM.render( , document.getElementById('root') );
    包月會(huì)員查看

    聲明:所有內(nèi)容來自互聯(lián)網(wǎng)搜索結(jié)果,不保證100%準(zhǔn)確性,僅供參考。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。
    發(fā)表評(píng)論
    更多 網(wǎng)友評(píng)論0 條評(píng)論)
    暫無評(píng)論

    返回頂部

    主站蜘蛛池模板: 久久99精品一区二区三区| 国产av福利一区二区三巨| 精品香蕉一区二区三区| 在线中文字幕一区| 一区二区三区美女视频| 天美传媒一区二区三区| 天堂资源中文最新版在线一区| 色一情一乱一伦一区二区三区| 精品三级AV无码一区| 国产一区二区三区免费| 亚洲人AV永久一区二区三区久久| 国产在线一区视频| 国产精品一区电影| 最新中文字幕一区| 国产天堂在线一区二区三区| 久久久无码精品人妻一区| 亚洲综合无码一区二区痴汉| 中文字幕精品一区二区2021年| 国产精品视频一区二区三区| 亚洲日韩一区精品射精| 久久精品日韩一区国产二区| 国产一区二区三区乱码在线观看 | 国产美女av在线一区| 婷婷国产成人精品一区二 | 精品乱人伦一区二区三区| 亚洲性日韩精品一区二区三区| 一区二区三区精品高清视频免费在线播放| 亚洲AV无码国产精品永久一区| 国产成人欧美一区二区三区| 精品国产精品久久一区免费式| 国产成人无码aa精品一区| 一区视频免费观看| 中文字幕在线播放一区| 国产一在线精品一区在线观看| 国产亚洲日韩一区二区三区| 无码一区二区三区视频| 亚洲一区二区三区成人网站| 国产suv精品一区二区6| 色妞AV永久一区二区国产AV| 无码国产精品一区二区免费16| 亚洲AV无码一区二区三区电影|