Permalink
Browse files

Better error for ART <Group />

Summary: Fixes #3815

Differential Revision: D4295976

Pulled By: javache

fbshipit-source-id: 034690d3bee75217d820d3361136a410a812cd2c
  • Loading branch information...
grabbou authored and mkonicek committed Dec 8, 2016
1 parent 43d6e8f commit 4a216f65bfd45f95f0e9fa76b3093b17ff49217d
Showing with 17 additions and 0 deletions.
  1. +17 −0 Libraries/ART/ReactNativeART.js
@@ -19,6 +19,7 @@ var ReactNativeViewAttributes = require('ReactNativeViewAttributes');
var createReactNativeComponentClass = require('createReactNativeComponentClass');
var merge = require('merge');
var invariant = require('fbjs/lib/invariant');
// Diff Helpers
@@ -137,6 +138,14 @@ function childrenAsString(children) {
// Surface - Root node of all ART
class Surface extends React.Component {
static childContextTypes = {
isInSurface: React.PropTypes.bool,
};
getChildContext() {
return { isInSurface: true };
}
render() {
var props = this.props;
var w = extractNumber(props.width, 0);
@@ -203,8 +212,16 @@ function extractOpacity(props) {
// ReactART.
class Group extends React.Component {
static contextTypes = {
isInSurface: React.PropTypes.bool.isRequired,
};
render() {
var props = this.props;
invariant(
this.context.isInSurface,
'ART: <Group /> must be a child of a <Surface />'
);
return (
<NativeGroup
opacity={extractOpacity(props)}

0 comments on commit 4a216f6

Please sign in to comment.