Skip to content
On this page

Examples

Loading...

React





















import PageViews from '@yeger/page-views'
import type { FC } from 'react'
import { useEffect, useState } from 'react'

const ViewCounter: FC = () => {
  PageViews.autoSubmitViews()

  const [pageViews, setPageViews] = useState<number>()

  useEffect(() => {
    PageViews.getViews().then(setPageViews)
  })

  if (pageViews === undefined) {
    return <span>Loading...</span>
  }

  return <span>{pageViews} views</span>
}

Vue




















<script async setup lang="ts">
import PageViews from '@yeger/page-views'
import { onMounted, ref } from 'vue'

const views = ref<number>()

PageViews.autoSubmitViews()

onMounted(async () => {
  views.value = await PageViews.getViews()
})
</script>

<template>
  <div class="page-views">
    <span v-if="views === undefined">Loading...</span>
    <span v-else>{{ views }} views</span>
  </div>
</template>

Released under the MIT License.