npm install react-screen-orientation --save
Also see the example.
@import "~react-screen-orientation/src/index";
import React, {Component} from 'react'
import DeviceOrientation, { Orientation } from 'react-screen-orientation'
class Example extends Component {
render () {
return (
<DeviceOrientation lockOrientation={'landscape'}>
{/* Will only be in DOM in landscape */}
<Orientation orientation='landscape' alwaysRender={false}>
<div>
<p>Only visible in landscape</p>
</div>
</Orientation>
{/* Will stay in DOM, but is only visible in portrait */}
<Orientation orientation='portrait'>
<div>
<p>Please rotate your device</p>
</div>
</Orientation>
</DeviceOrientation>
)
}
}
Required. You MUST supply children of type Orientation
. Each child will only be visible if it's orientation
prop matches the current screen orientation.
Passes CSS classes to the underlying div
.
Try to lock the device using either The Screen Orientation API or screen.lockOrientation
.
Valid values are: portrait-primary
, portrait-secondary
, landscape-primary
, landscape-secondary
, portrait
, landscape
and default
. Multiple values are allowed.
Callback which will be called after trying to lock screen orientation using lockOrientation
.
Will be called in componentWillMount
and when screen orientation changes are detected. Orientation changes are detected using The Screen Orientation API or window.onorientationchange
window.screen.orientation.type
is split into orientation
and type
parameters.
Parameters:
orientation
—portrait
orlandscape
type
—primary
orsecondary
angle
—0
,90
,180
or270
Set this to false
to not render the component into the DOM if orientation
does not match the current screen orientation. This can be helpful if you need your component to re-render when screen orientation changes.
Any children will be passed to the DOM.
Passes CSS classes to the underlying div
.
Required Supply either portrait
or landscape
to indicate when the component should be visible.