1.2.0 • Published 4 years ago

react-render-at v1.2.0

Weekly downloads
4
License
MIT
Repository
github
Last release
4 years ago

React Render At

version license size

Installation

npm install react-render-at

Default Breakpoints

DeviceMinMax
Desktop1200pxInfinite
Laptop1024px1199px
Tablet768px1023px
Mobile0px767px

Usage

This package can be used in three different ways:

  • Via component
import React from 'react'
import {RenderAt} from 'react-render-at'
  
function App () {
  return (
      <RenderAt desktop>
          Content  
      </RenderAt>
  )
}

Available props

PropTypeDefault
desktopbooleanno
laptopbooleanno
tabletbooleanno
mobilebooleanno
fragmentbooleanno
  • Via Higher Order Component
import React from 'react'
import {withReanderAt} from 'react-render-at'  
  
function App(props) {
  return (
   {
     props.isDesktop && <p>Content in Desktop</p>
   }
   {
     props.isLaptop && <p>Content in Laptop</p>
   }
   {
     props.isTablet && <p>Content in Tablet</p>
   }
   {
     props.isMobile && <p>Content in Mobile</p>
   }
  )
}

export default withRenderAt(App)

Available props

PropType
isDesktopboolean
isLaptopboolean
isTabletboolean
isMobileboolean
  • Via Hooks

You have to wrap your app within RenderAtProvider and then:

import React from 'react'
import {useRenderAt} from 'react-render-at'
  
function App() {
  const { isDesktop, isLaptop, isTablet, isMobile } = useRenderAt()

  return (
    {
      isDesktop && <p>Content in Desktop</p>
    }
    {
      isLaptop && <p>Content in Laptop</p>
    }
    {
      isTablet && <p>Content in Tablet</p>
    }
    {
      isMobile && <p>Content in Mobile</p>
    }
  )
}

export default App

Available props

PropType
isDesktopboolean
isLaptopboolean
isTabletboolean
isMobileboolean

Config

You can change the default debounce time by calling setDebounceTime at the beginning of your app:

import React from 'react'
import RenderAt from 'react-render-at'

RenderAt.setDebounceTime(250) // Resize event debounce time in milliseconds.

You can override the default breakpoints by calling setBreakpoints at the beginning of you app:

import React from 'react'
import RenderAt from 'react-render-at'

RenderAt.setBreakpoints({
  desktop: {minWidth: 1024, maxWidth: Infinity}
})

Available object props

PropType
desktop{ minWidth: number, maxWidth: number | Infinity }
laptop{ minWidth: number, maxWidth: number | Infinity }
tablet{ minWidth: number, maxWidth: number | Infinity }
mobile{ minWidth: number, maxWidth: number | Infinity }
1.2.0

4 years ago

1.1.0

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.1.0

4 years ago