From 0023d9f6cbd204e1f3dc9e1bc019caf50304a8b2 Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Thu, 1 Oct 2015 18:12:02 -0400 Subject: [PATCH 1/3] this should prevent ie8 from getting mad --- src/components/createConnect.js | 21 +++++++++++---------- src/components/createProvider.js | 25 +++++++++++++------------ 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/components/createConnect.js b/src/components/createConnect.js index fc0be32e0..93a2dceef 100644 --- a/src/components/createConnect.js +++ b/src/components/createConnect.js @@ -78,16 +78,7 @@ export default function createConnect(React) { return function wrapWithConnect(WrappedComponent) { class Connect extends Component { - static displayName = `Connect(${getDisplayName(WrappedComponent)})`; - static WrappedComponent = WrappedComponent; - - static contextTypes = { - store: storeShape - }; - - static propTypes = { - store: storeShape - }; + shouldComponentUpdate(nextProps, nextState) { if (!pure) { @@ -215,6 +206,16 @@ export default function createConnect(React) { ); } } + // to prevent breaking ie8 + Connect.displayName = `Connect(${getDisplayName(WrappedComponent)})`; + Connect.WrappedComponent = WrappedComponent; + + Connect.contextTypes = { + store: storeShape + }; + Connect.propTypes = { + store: storeShape + }; if (process.env.NODE_ENV !== 'production') { Connect.prototype.componentWillUpdate = function componentWillUpdate() { diff --git a/src/components/createProvider.js b/src/components/createProvider.js index 1e351bc8a..e44f0b237 100644 --- a/src/components/createProvider.js +++ b/src/components/createProvider.js @@ -59,18 +59,7 @@ export default function createProvider(React) { ); } - return class Provider extends Component { - static childContextTypes = { - store: storeShape.isRequired - }; - - static propTypes = { - store: storeShape.isRequired, - children: (requireFunctionChild ? - PropTypes.func : - PropTypes.element - ).isRequired - }; + class Provider extends Component { getChildContext() { return { store: this.store }; @@ -102,5 +91,17 @@ export default function createProvider(React) { return Children.only(children); } + } + Provider.childContextTypes = { + store: storeShape.isRequired + }; + + Provider.propTypes = { + store: storeShape.isRequired, + children: (requireFunctionChild ? + PropTypes.func : + PropTypes.element + ).isRequired }; + return Provider; } From 4aba27025f1ddd8b2aa5b6f4ffdb5bf55a39d479 Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Thu, 1 Oct 2015 18:15:05 -0400 Subject: [PATCH 2/3] clearer comment --- src/components/createConnect.js | 3 ++- src/components/createProvider.js | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/createConnect.js b/src/components/createConnect.js index 93a2dceef..918cbc7fc 100644 --- a/src/components/createConnect.js +++ b/src/components/createConnect.js @@ -206,7 +206,8 @@ export default function createConnect(React) { ); } } - // to prevent breaking ie8 + //adding properties in this way + //prevents ie8 from breaking Connect.displayName = `Connect(${getDisplayName(WrappedComponent)})`; Connect.WrappedComponent = WrappedComponent; diff --git a/src/components/createProvider.js b/src/components/createProvider.js index e44f0b237..ad04f73ac 100644 --- a/src/components/createProvider.js +++ b/src/components/createProvider.js @@ -92,11 +92,13 @@ export default function createProvider(React) { return Children.only(children); } } + //adding properties in this way + //prevents ie8 from breaking Provider.childContextTypes = { store: storeShape.isRequired }; - Provider.propTypes = { + Provider.propTypes = { store: storeShape.isRequired, children: (requireFunctionChild ? PropTypes.func : From ef14a40e3d628115b3568aac2289cb6457e16cb7 Mon Sep 17 00:00:00 2001 From: Matt Dean Date: Fri, 2 Oct 2015 15:47:20 -0400 Subject: [PATCH 3/3] Fixes CI --- src/components/createConnect.js | 5 ++--- src/components/createProvider.js | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/components/createConnect.js b/src/components/createConnect.js index 918cbc7fc..c0f6f4164 100644 --- a/src/components/createConnect.js +++ b/src/components/createConnect.js @@ -78,7 +78,6 @@ export default function createConnect(React) { return function wrapWithConnect(WrappedComponent) { class Connect extends Component { - shouldComponentUpdate(nextProps, nextState) { if (!pure) { @@ -206,8 +205,8 @@ export default function createConnect(React) { ); } } - //adding properties in this way - //prevents ie8 from breaking + // adding properties in this way + // prevents ie8 from breaking Connect.displayName = `Connect(${getDisplayName(WrappedComponent)})`; Connect.WrappedComponent = WrappedComponent; diff --git a/src/components/createProvider.js b/src/components/createProvider.js index ad04f73ac..3550d6a20 100644 --- a/src/components/createProvider.js +++ b/src/components/createProvider.js @@ -92,8 +92,8 @@ export default function createProvider(React) { return Children.only(children); } } - //adding properties in this way - //prevents ie8 from breaking + // adding properties in this way + // prevents ie8 from breaking Provider.childContextTypes = { store: storeShape.isRequired };