react-native Platform Module Find the OS Type/Version

Help us to keep this website almost Ad Free! It takes only 10 seconds of your time:
> Step 1: Go view our video on YouTube: EF Core Bulk Insert
> Step 2: And Like the video. BONUS: You can also share it!

Example

The first step is to import Platform from the 'react-native' package like so:

import { Platform } from 'react-native'

After you've done that, you can go ahead and access the OS type through Platform.OS allowing you to use it in conditional statements like

const styles = StyleSheet.create({
  height: (Platform.OS === 'ios') ? 200 : 100,
})

If you want to detect the Android version, you can use Platform.Version like so:

if (Platform.Version === 21) {
  console.log('Running on Lollipop!');
}

For iOS, Platform.Version is returning a String, for complex condition don't forget to parse it.

if (parseInt(Platform.Version, 10) >= 9) {
    console.log('Running version higher than 8');
}

If the platform specific logic is complex, one can render two different files based on platform. Ex:

  • MyTask.android.js
  • MyTask.ios.js

and require it using

const MyTask = require('./MyTask')


Got any react-native Question?