Skip to content

Instantly share code, notes, and snippets.

@juliencrn
Created September 30, 2022 20:11
Show Gist options
  • Save juliencrn/1b46e6536a225c7def9a3a03fa314e0a to your computer and use it in GitHub Desktop.
Save juliencrn/1b46e6536a225c7def9a3a03fa314e0a to your computer and use it in GitHub Desktop.
Google AdSense banner React-Typescript component
import { useEffectOnce } from 'usehooks-ts'
declare global {
interface Window {
adsbygoogle: unknown[]
}
}
interface AdSenseProps {
slot: string
}
function AdSenseBanner({ slot }: AdSenseProps) {
useEffectOnce(() => {
// eslint-disable-next-line prettier/prettier
(window.adsbygoogle = window.adsbygoogle || []).push({})
})
return (
<div style={{ border: '1px solid white' }}>
Ads
<ins
className="adsbygoogle"
style={{ display: 'block' }}
data-ad-client="add-your-client-id"
data-ad-slot={slot}
data-ad-format="auto"
data-full-width-responsive="true"
></ins>
</div>
)
}
export default AdSenseBanner
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment