1.2.1 • Published 1 year ago
react-render-at v1.2.1
React Render At
Installation
npm install react-render-atDefault Breakpoints
| Device | Min | Max |
|---|---|---|
| Desktop | 1200px | Infinite |
| Laptop | 1024px | 1199px |
| Tablet | 768px | 1023px |
| Mobile | 0px | 767px |
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
| Prop | Type | Default |
|---|---|---|
| desktop | boolean | no |
| laptop | boolean | no |
| tablet | boolean | no |
| mobile | boolean | no |
| fragment | boolean | no |
- 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
| Prop | Type |
|---|---|
| isDesktop | boolean |
| isLaptop | boolean |
| isTablet | boolean |
| isMobile | boolean |
- 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 AppAvailable props
| Prop | Type |
|---|---|
| isDesktop | boolean |
| isLaptop | boolean |
| isTablet | boolean |
| isMobile | boolean |
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
| Prop | Type |
|---|---|
| desktop | { minWidth: number, maxWidth: number | Infinity } |
| laptop | { minWidth: number, maxWidth: number | Infinity } |
| tablet | { minWidth: number, maxWidth: number | Infinity } |
| mobile | { minWidth: number, maxWidth: number | Infinity } |