From 6d9154196e510219d5b39e5d2bebca7021d50b89 Mon Sep 17 00:00:00 2001 From: Nicolas Gallagher Date: Thu, 4 Jan 2018 13:41:49 -0800 Subject: [PATCH] [fix] StyleSheet.hairlineWidth guard against missing document.body --- .../src/exports/StyleSheet/getHairlineWidth.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/react-native-web/src/exports/StyleSheet/getHairlineWidth.js b/packages/react-native-web/src/exports/StyleSheet/getHairlineWidth.js index 6862a72f..e2d47ff5 100644 --- a/packages/react-native-web/src/exports/StyleSheet/getHairlineWidth.js +++ b/packages/react-native-web/src/exports/StyleSheet/getHairlineWidth.js @@ -8,13 +8,16 @@ import { canUseDOM } from 'fbjs/lib/ExecutionEnvironment'; const getHairlineWidth = () => { let hairlineWidth = 1; if (canUseDOM && window.devicePixelRatio && window.devicePixelRatio >= 2) { - const node = document.createElement('div'); - node.style.border = '.5px solid transparent'; - document.body.appendChild(node); - if (node.offsetHeight === 1) { - hairlineWidth = 0.5; + const body = document.body; + if (body) { + const node = document.createElement('div'); + node.style.border = '.5px solid transparent'; + body.appendChild(node); + if (node.offsetHeight === 1) { + hairlineWidth = 0.5; + } + body.removeChild(node); } - document.body.removeChild(node); } return hairlineWidth; };