代码之家  ›  专栏  ›  技术社区  ›  Nick Kinlen

材质UI和React:使用渐变组件onScroll

  •  0
  • Nick Kinlen  · 技术社区  · 4 年前

    我不熟悉使用材质UI。我想用它的 Fade component 淡入一种元素。我可以这样做:

    <Fade in timeout={3000}>
        <Typography variant="h3" className={classes.h3} gutterBottom>About Me</Typography>
    </Fade>
    

    淡入淡出组件工作正常,但在加载页面时立即执行。如何延迟动画,直到用户向下滚动到元素在页面上的位置?我没看到 onScroll 文档中的属性。Material UI是否提供了一种执行滚动淡入淡出的方法,或者我是否需要将另一个库与Material UI结合使用?

    0 回复  |  直到 4 年前
        1
  •  7
  •   Varun Goel    4 年前

    你可以利用 in 财产 Fade 组件,并且仅在条件下设置为true。

    所以在你的情况下,你需要这样做-

    import VizSensor from 'react-visibility-sensor'; // or use any other 3rd party plugin or define your own
    
    function comp=(props) => {
    
        let [active, setActive] = useState(false);
    
        return (
            <VizSensor
                onChange={(isVisible) => {
                    setActive(isVisible);
                }}
            >
                <Fade in={active} timeout={3000}>
                    <Typography variant="h3" className={classes.h3} gutterBottom>About Me</Typography>
                </Fade>
            </VizSensor>
        )
    
    }