reactjs - 滚动后如何检查元素是否可见? (跟踪展示次数和点击次数)

标签 reactjs react-native intersection-observer impressions

如何在滚动后检查元素是否可见?看到了一些 react 的例子,但我正在专门寻找 react native 。想要跟踪展示次数和点击次数

最佳答案

最终实现了一个库

https://www.npmjs.com/package/react-native-component-inview

import InView from 'react-native-component-inview'

const [isInView, setIsInView] = useState(false)

const checkVisible = (isVisible:boolean) => {
    if (isVisible){
      setIsInView(isVisible)
    } else {
      setIsInView(isVisible)
    }
  }

<ScrollView>
  <InView onChange={(isVisible) => this.checkVisible(isVisible)}>
    <View style={[styles.item, {backgroundColor: isInView ? 'yellow' : '#f9c2ff'}]}>
      <Text>yay</Text>
    </View>
  </InView>
</ScrollView>

引用资料:

https://medium.com/@sanishkr/react-components-tracking-impressions-and-clicks-2fc9af1cc2c

enter image description here

关于reactjs - 滚动后如何检查元素是否可见? (跟踪展示次数和点击次数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59403686/

相关文章:

javascript - 从node js服务器向客户端发送axios post请求错误消息

reactjs - Stripe reactjs - 找不到元素上下文

reactjs - react-native-vector-icon 显示 "wrong"图标

javascript - Typescript 中的 Intersection Observer 在 useRef 中抛出错误

css - 如何设置我在 chrome FreeBSD 23 上运行的 reactjs 应用程序的样式?

javascript - 修改 Shopify Polaris 样式 - Reactjs

javascript - 在构造函数之外实例化的 ES6+ 实例属性

javascript - 在 React-Native 中渲染

javascript - vue.js 中的 Intersection Observer 问题

javascript - 多个 HTML 元素的相同交叉点观察者