[fix] V8 deopt in compiled 'createDOMElement'

Fixes V8 "deopt" warning: "Bad value context for arguments value".

This deopt was caused by the babel-compiled output of the ES6 argument
default value for 'rnProps':

    var t = arguments.length > 1 && void 0 !== arguments[1]
      ? arguments[1]
      : l

Not relying on ES6 default arguments avoids the function 'deopt'.
This commit is contained in:
Nicolas Gallagher
2017-02-17 10:07:52 -08:00
parent 6166024d15
commit a34b8b149f
+2 -2
View File
@@ -19,7 +19,7 @@ const roleComponents = {
region: 'section'
};
const createDOMElement = (component, rnProps = emptyObject) => {
const createDOMElement = (component, rnProps) => {
const {
accessibilityLabel,
accessibilityLiveRegion,
@@ -29,7 +29,7 @@ const createDOMElement = (component, rnProps = emptyObject) => {
testID,
type,
...domProps
} = rnProps;
} = rnProps || emptyObject;
const accessibilityComponent = accessibilityRole && roleComponents[accessibilityRole];
const Component = accessibilityComponent || component;