react-on-screen:检查视口中是否有React组件

提供一个组件来包装react组件,并检查屏幕上是否可见。例如,可以使用此组件触发入口动画!

组件只是将isVisible属性 通过props传递给组件。

特征
不依赖于dom 节点。因此,它可以与无状态组件一起使用;
将所有属性转移到包装的组件里;
可见性可以只跟踪一次;
事件侦听器是通过节流实现的,以避免内存泄漏或性能问题.

安装

npm :

$ npm install react-on-screen --save 

样例:解构props的isVisible

import React from 'react';
import TrackVisibility from 'react-on-screen'; // CommonJs : require('react-on-screen').default


const ComponentToTrack = ({ isVisible }) => {
    const style = {
        background: isVisible ? 'red' : 'blue'
    };

    return <div style={style}>Hello</div>;
}

const YourApp = () => {
    return (
       {/* Some Stuff */}
        <TrackVisibility>
            <ComponentToTrack />
        </TrackVisibility>
       {/* Some Stuff */}
    );
}

Api

propstypedefaultdescription
onceboolfalseIf set to true track the visibility only once and remove the event listeners
throttleIntervalint150Tweak the event listeners. See David Corbacho's article
childrenReact Components-Can be on or many react components
styleobject-Style attributes
classNamestring-Css classes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yusirxiaer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值