react-reconciler 0.25.0 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build-info.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
- "branch": "master",
3
- "buildNumber": "91354",
4
- "checksum": "b0ed8f5",
5
- "commit": "d28bd2994",
2
+ "branch": "pull/18344",
3
+ "buildNumber": "106499",
4
+ "checksum": "7fe5a2e",
5
+ "commit": "da834083c",
6
6
  "environment": "ci",
7
- "reactVersion": "16.12.0-d28bd2994"
7
+ "reactVersion": "16.12.0-da834083c"
8
8
  }
@@ -1,4 +1,4 @@
1
- /** @license React v0.25.0
1
+ /** @license React v0.25.1
2
2
  * react-reconciler-persistent.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -864,7 +864,7 @@ function getStackByFiberInDevAndProd(workInProgress) {
864
864
  return info;
865
865
  }
866
866
  var current = null;
867
- var phase = null;
867
+ var isRendering = false;
868
868
  function getCurrentFiberOwnerNameInDevOrNull() {
869
869
  {
870
870
  if (current === null) {
@@ -895,19 +895,19 @@ function resetCurrentFiber() {
895
895
  {
896
896
  ReactDebugCurrentFrame.getCurrentStack = null;
897
897
  current = null;
898
- phase = null;
898
+ isRendering = false;
899
899
  }
900
900
  }
901
901
  function setCurrentFiber(fiber) {
902
902
  {
903
903
  ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackInDev;
904
904
  current = fiber;
905
- phase = null;
905
+ isRendering = false;
906
906
  }
907
907
  }
908
- function setCurrentPhase(lifeCyclePhase) {
908
+ function setIsRendering(rendering) {
909
909
  {
910
- phase = lifeCyclePhase;
910
+ isRendering = rendering;
911
911
  }
912
912
  }
913
913
 
@@ -1525,19 +1525,10 @@ function processChildContext(fiber, type, parentContext) {
1525
1525
  }
1526
1526
 
1527
1527
  var childContext;
1528
-
1529
- {
1530
- setCurrentPhase('getChildContext');
1531
- }
1532
-
1533
1528
  startPhaseTimer(fiber, 'getChildContext');
1534
1529
  childContext = instance.getChildContext();
1535
1530
  stopPhaseTimer();
1536
1531
 
1537
- {
1538
- setCurrentPhase(null);
1539
- }
1540
-
1541
1532
  for (var contextKey in childContext) {
1542
1533
  if (!(contextKey in childContextTypes)) {
1543
1534
  {
@@ -7523,7 +7514,6 @@ var didWarnAboutContextTypeOnFunctionComponent;
7523
7514
  var didWarnAboutGetDerivedStateOnFunctionComponent;
7524
7515
  var didWarnAboutFunctionRefs;
7525
7516
  var didWarnAboutReassigningProps;
7526
- var didWarnAboutMaxDuration;
7527
7517
  var didWarnAboutRevealOrder;
7528
7518
  var didWarnAboutTailOptions;
7529
7519
 
@@ -7534,7 +7524,6 @@ var didWarnAboutTailOptions;
7534
7524
  didWarnAboutGetDerivedStateOnFunctionComponent = {};
7535
7525
  didWarnAboutFunctionRefs = {};
7536
7526
  didWarnAboutReassigningProps = false;
7537
- didWarnAboutMaxDuration = false;
7538
7527
  didWarnAboutRevealOrder = {};
7539
7528
  didWarnAboutTailOptions = {};
7540
7529
  }
@@ -7598,10 +7587,10 @@ function updateForwardRef(current, workInProgress, Component, nextProps, renderE
7598
7587
 
7599
7588
  {
7600
7589
  ReactCurrentOwner$1.current = workInProgress;
7601
- setCurrentPhase('render');
7590
+ setIsRendering(true);
7602
7591
  nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);
7603
7592
 
7604
- setCurrentPhase(null);
7593
+ setIsRendering(false);
7605
7594
  }
7606
7595
 
7607
7596
  if (current !== null && !didReceiveUpdate) {
@@ -7809,10 +7798,10 @@ function updateFunctionComponent(current, workInProgress, Component, nextProps,
7809
7798
 
7810
7799
  {
7811
7800
  ReactCurrentOwner$1.current = workInProgress;
7812
- setCurrentPhase('render');
7801
+ setIsRendering(true);
7813
7802
  nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);
7814
7803
 
7815
- setCurrentPhase(null);
7804
+ setIsRendering(false);
7816
7805
  }
7817
7806
 
7818
7807
  if (current !== null && !didReceiveUpdate) {
@@ -7928,10 +7917,10 @@ function finishClassComponent(current, workInProgress, Component, shouldUpdate,
7928
7917
  }
7929
7918
  } else {
7930
7919
  {
7931
- setCurrentPhase('render');
7920
+ setIsRendering(true);
7932
7921
  nextChildren = instance.render();
7933
7922
 
7934
- setCurrentPhase(null);
7923
+ setIsRendering(false);
7935
7924
  }
7936
7925
  } // React DevTools reads this flag.
7937
7926
 
@@ -8245,8 +8234,10 @@ function mountIndeterminateComponent(_current, workInProgress, Component, render
8245
8234
  ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);
8246
8235
  }
8247
8236
 
8237
+ setIsRendering(true);
8248
8238
  ReactCurrentOwner$1.current = workInProgress;
8249
8239
  value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
8240
+ setIsRendering(false);
8250
8241
  } // React DevTools reads this flag.
8251
8242
 
8252
8243
 
@@ -8402,17 +8393,7 @@ function updateSuspenseComponent(current, workInProgress, renderExpirationTime)
8402
8393
  }
8403
8394
 
8404
8395
  suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
8405
- pushSuspenseContext(workInProgress, suspenseContext);
8406
-
8407
- {
8408
- if ('maxDuration' in nextProps) {
8409
- if (!didWarnAboutMaxDuration) {
8410
- didWarnAboutMaxDuration = true;
8411
-
8412
- error('maxDuration has been removed from React. ' + 'Remove the maxDuration prop.');
8413
- }
8414
- }
8415
- } // This next part is a bit confusing. If the children timeout, we switch to
8396
+ pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to
8416
8397
  // showing the fallback children in place of the "primary" children.
8417
8398
  // However, we don't want to delete the primary children because then their
8418
8399
  // state will be lost (both the React state and the host state, e.g.
@@ -8434,7 +8415,6 @@ function updateSuspenseComponent(current, workInProgress, renderExpirationTime)
8434
8415
  // custom reconciliation logic to preserve the state of the primary
8435
8416
  // children. It's essentially a very basic form of re-parenting.
8436
8417
 
8437
-
8438
8418
  if (current === null) {
8439
8419
  // If we're currently hydrating, try to hydrate this boundary.
8440
8420
  // But only if this has a fallback.
@@ -9067,9 +9047,9 @@ function updateContextConsumer(current, workInProgress, renderExpirationTime) {
9067
9047
 
9068
9048
  {
9069
9049
  ReactCurrentOwner$1.current = workInProgress;
9070
- setCurrentPhase('render');
9050
+ setIsRendering(true);
9071
9051
  newChildren = render(newValue);
9072
- setCurrentPhase(null);
9052
+ setIsRendering(false);
9073
9053
  } // React DevTools reads this flag.
9074
9054
 
9075
9055
 
@@ -12162,9 +12142,11 @@ function throwException(root, returnFiber, sourceFiber, value, renderExpirationT
12162
12142
  var currentSource = sourceFiber.alternate;
12163
12143
 
12164
12144
  if (currentSource) {
12145
+ sourceFiber.updateQueue = currentSource.updateQueue;
12165
12146
  sourceFiber.memoizedState = currentSource.memoizedState;
12166
12147
  sourceFiber.expirationTime = currentSource.expirationTime;
12167
12148
  } else {
12149
+ sourceFiber.updateQueue = null;
12168
12150
  sourceFiber.memoizedState = null;
12169
12151
  }
12170
12152
  }
@@ -14590,43 +14572,40 @@ var beginWork$1;
14590
14572
  }
14591
14573
 
14592
14574
  var didWarnAboutUpdateInRender = false;
14593
- var didWarnAboutUpdateInGetChildContext = false;
14575
+ var didWarnAboutUpdateInRenderForAnotherComponent;
14576
+
14577
+ {
14578
+ didWarnAboutUpdateInRenderForAnotherComponent = new Set();
14579
+ }
14594
14580
 
14595
14581
  function warnAboutRenderPhaseUpdatesInDEV(fiber) {
14596
14582
  {
14597
- if ((executionContext & RenderContext) !== NoContext) {
14583
+ if (isRendering && (executionContext & RenderContext) !== NoContext) {
14598
14584
  switch (fiber.tag) {
14599
14585
  case FunctionComponent:
14600
14586
  case ForwardRef:
14601
14587
  case SimpleMemoComponent:
14602
14588
  {
14603
- error('Cannot update a component from inside the function body of a ' + 'different component.');
14589
+ var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.
14590
+
14591
+ var dedupeKey = renderingComponentName;
14592
+
14593
+ if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {
14594
+ didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);
14595
+ var setStateComponentName = getComponentName(fiber.type) || 'Unknown';
14596
+
14597
+ error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);
14598
+ }
14604
14599
 
14605
14600
  break;
14606
14601
  }
14607
14602
 
14608
14603
  case ClassComponent:
14609
14604
  {
14610
- switch (phase) {
14611
- case 'getChildContext':
14612
- if (didWarnAboutUpdateInGetChildContext) {
14613
- return;
14614
- }
14605
+ if (!didWarnAboutUpdateInRender) {
14606
+ error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');
14615
14607
 
14616
- error('setState(...): Cannot call setState() inside getChildContext()');
14617
-
14618
- didWarnAboutUpdateInGetChildContext = true;
14619
- break;
14620
-
14621
- case 'render':
14622
- if (didWarnAboutUpdateInRender) {
14623
- return;
14624
- }
14625
-
14626
- error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');
14627
-
14628
- didWarnAboutUpdateInRender = true;
14629
- break;
14608
+ didWarnAboutUpdateInRender = true;
14630
14609
  }
14631
14610
 
14632
14611
  break;
@@ -15790,7 +15769,7 @@ function updateContainer(element, container, parentComponent, callback) {
15790
15769
  }
15791
15770
 
15792
15771
  {
15793
- if (phase === 'render' && current !== null && !didWarnAboutNestedUpdates) {
15772
+ if (isRendering && current !== null && !didWarnAboutNestedUpdates) {
15794
15773
  didWarnAboutNestedUpdates = true;
15795
15774
 
15796
15775
  error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown');
@@ -1,4 +1,4 @@
1
- /** @license React v0.25.0
1
+ /** @license React v0.25.1
2
2
  * react-reconciler-persistent.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -140,11 +140,11 @@ Ma(Tf.bind(null,a),d);break}}Tf(a);break;default:throw Error(n(329));}Z(a);if(a.
140
140
  function If(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(pf|qf))!==V)throw Error(n(327));Nf();a===T&&b===U||Of(a,b);if(null!==X){var c=W;W|=pf;var d=Pf();do try{Uf();break}catch(e){Rf(a,e)}while(1);rc();W=c;mf.current=d;if(S===rf)throw c=uf,Of(a,b),De(a,b),Z(a),c;if(null!==X)throw Error(n(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Tf(a);Z(a)}return null}function Vf(a,b){Mf(a,b);Z(a);(W&(pf|qf))===V&&H()}
141
141
  function Wf(){if(null!==Df){var a=Df;Df=null;a.forEach(function(a,c){Mf(c,a);Z(c)});H()}}function Xf(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&H()}}function Yf(a,b){if((W&(pf|qf))!==V)throw Error(n(187));var c=W;W|=1;try{return dc(99,a.bind(null,b))}finally{W=c,H()}}
142
142
  function Of(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;c!==Oa&&(a.timeoutHandle=Oa,Na(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Fb();break;case 3:id();B(E);B(D);break;case 5:kd(d);break;case 4:id();break;case 13:B(K);break;case 19:B(K);break;case 10:tc(d)}c=c.return}T=a;X=Xc(a.current,null);U=b;S=ze;uf=null;wf=vf=1073741823;xf=null;Ce=0;yf=!1}
143
- function Rf(a,b){do{try{rc();nd.current=vd;if(pd)for(var c=M.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}od=0;O=N=M=null;pd=!1;if(null===X||null===X.return)return S=rf,uf=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&"object"===typeof h&&"function"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):g.memoizedState=null}var q=0!==
144
- (K.current&1),r=f;do{var w;if(w=13===r.tag){var z=r.memoizedState;if(null!==z)w=null!==z.dehydrated?!0:!1;else{var Q=r.memoizedProps;w=void 0===Q.fallback?!1:!0!==Q.unstable_avoidThisFallback?!0:q?!1:!0}}if(w){var A=r.updateQueue;if(null===A){var v=new Set;v.add(k);r.updateQueue=v}else A.add(k);if(0===(r.mode&2)){r.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var t=Ac(1073741823,null);t.tag=2;Bc(g,t)}g.expirationTime=1073741823;break a}h=void 0;g=b;var x=e.pingCache;
145
- null===x?(x=e.pingCache=new ef,h=new Set,x.set(k,h)):(h=x.get(k),void 0===h&&(h=new Set,x.set(k,h)));if(!h.has(g)){h.add(g);var ke=cg.bind(null,e,k,g);k.then(ke,ke)}r.effectTag|=4096;r.expirationTime=b;break a}r=r.return}while(null!==r);h=Error((ua(g.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+zb(g))}S!==tf&&(S=sf);h=Ge(h,g);r=f;do{switch(r.tag){case 3:k=
146
- h;r.effectTag|=4096;r.expirationTime=b;var Zf=ff(r,k,b);Cc(r,Zf);break a;case 1:k=h;var $f=r.type,Fc=r.stateNode;if(0===(r.effectTag&64)&&("function"===typeof $f.getDerivedStateFromError||null!==Fc&&"function"===typeof Fc.componentDidCatch&&(null===kf||!kf.has(Fc)))){r.effectTag|=4096;r.expirationTime=b;var ag=jf(r,k,b);Cc(r,ag);break a}}r=r.return}while(null!==r)}X=dg(X)}catch(bg){b=bg;continue}break}while(1)}function Pf(){var a=mf.current;mf.current=vd;return null===a?vd:a}
147
- function Ec(a,b){a<vf&&2<a&&(vf=a);null!==b&&a<wf&&2<a&&(wf=a,xf=b)}function Gc(a){a>Ce&&(Ce=a)}function Uf(){for(;null!==X;)X=eg(X)}function Qf(){for(;null!==X&&!Wb();)X=eg(X)}function eg(a){var b=fg(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=dg(a));nf.current=null;return b}
143
+ function Rf(a,b){do{try{rc();nd.current=vd;if(pd)for(var c=M.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}od=0;O=N=M=null;pd=!1;if(null===X||null===X.return)return S=rf,uf=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&"object"===typeof h&&"function"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=
144
+ null,g.memoizedState=null)}var q=0!==(K.current&1),r=f;do{var w;if(w=13===r.tag){var z=r.memoizedState;if(null!==z)w=null!==z.dehydrated?!0:!1;else{var Q=r.memoizedProps;w=void 0===Q.fallback?!1:!0!==Q.unstable_avoidThisFallback?!0:q?!1:!0}}if(w){var A=r.updateQueue;if(null===A){var v=new Set;v.add(k);r.updateQueue=v}else A.add(k);if(0===(r.mode&2)){r.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var t=Ac(1073741823,null);t.tag=2;Bc(g,t)}g.expirationTime=1073741823;
145
+ break a}h=void 0;g=b;var x=e.pingCache;null===x?(x=e.pingCache=new ef,h=new Set,x.set(k,h)):(h=x.get(k),void 0===h&&(h=new Set,x.set(k,h)));if(!h.has(g)){h.add(g);var ke=cg.bind(null,e,k,g);k.then(ke,ke)}r.effectTag|=4096;r.expirationTime=b;break a}r=r.return}while(null!==r);h=Error((ua(g.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+
146
+ zb(g))}S!==tf&&(S=sf);h=Ge(h,g);r=f;do{switch(r.tag){case 3:k=h;r.effectTag|=4096;r.expirationTime=b;var Zf=ff(r,k,b);Cc(r,Zf);break a;case 1:k=h;var $f=r.type,Fc=r.stateNode;if(0===(r.effectTag&64)&&("function"===typeof $f.getDerivedStateFromError||null!==Fc&&"function"===typeof Fc.componentDidCatch&&(null===kf||!kf.has(Fc)))){r.effectTag|=4096;r.expirationTime=b;var ag=jf(r,k,b);Cc(r,ag);break a}}r=r.return}while(null!==r)}X=dg(X)}catch(bg){b=bg;continue}break}while(1)}
147
+ function Pf(){var a=mf.current;mf.current=vd;return null===a?vd:a}function Ec(a,b){a<vf&&2<a&&(vf=a);null!==b&&a<wf&&2<a&&(wf=a,xf=b)}function Gc(a){a>Ce&&(Ce=a)}function Uf(){for(;null!==X;)X=eg(X)}function Qf(){for(;null!==X&&!Wb();)X=eg(X)}function eg(a){var b=fg(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=dg(a));nf.current=null;return b}
148
148
  function dg(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=ye(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==
149
149
  a.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=Fe(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ze&&(S=tf);return null}function Sf(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Tf(a){var b=bc();dc(99,gg.bind(null,a,b));return null}
150
150
  function gg(a,b){do Nf();while(null!==Bf);if((W&(pf|qf))!==V)throw Error(n(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(n(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Sf(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=
@@ -1,4 +1,4 @@
1
- /** @license React v0.25.0
1
+ /** @license React v0.25.1
2
2
  * react-reconciler-reflection.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- /** @license React v0.25.0
1
+ /** @license React v0.25.1
2
2
  * react-reconciler-reflection.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- /** @license React v0.25.0
1
+ /** @license React v0.25.1
2
2
  * react-reconciler.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -865,7 +865,7 @@ function getStackByFiberInDevAndProd(workInProgress) {
865
865
  return info;
866
866
  }
867
867
  var current = null;
868
- var phase = null;
868
+ var isRendering = false;
869
869
  function getCurrentFiberOwnerNameInDevOrNull() {
870
870
  {
871
871
  if (current === null) {
@@ -896,19 +896,19 @@ function resetCurrentFiber() {
896
896
  {
897
897
  ReactDebugCurrentFrame.getCurrentStack = null;
898
898
  current = null;
899
- phase = null;
899
+ isRendering = false;
900
900
  }
901
901
  }
902
902
  function setCurrentFiber(fiber) {
903
903
  {
904
904
  ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackInDev;
905
905
  current = fiber;
906
- phase = null;
906
+ isRendering = false;
907
907
  }
908
908
  }
909
- function setCurrentPhase(lifeCyclePhase) {
909
+ function setIsRendering(rendering) {
910
910
  {
911
- phase = lifeCyclePhase;
911
+ isRendering = rendering;
912
912
  }
913
913
  }
914
914
 
@@ -1526,19 +1526,10 @@ function processChildContext(fiber, type, parentContext) {
1526
1526
  }
1527
1527
 
1528
1528
  var childContext;
1529
-
1530
- {
1531
- setCurrentPhase('getChildContext');
1532
- }
1533
-
1534
1529
  startPhaseTimer(fiber, 'getChildContext');
1535
1530
  childContext = instance.getChildContext();
1536
1531
  stopPhaseTimer();
1537
1532
 
1538
- {
1539
- setCurrentPhase(null);
1540
- }
1541
-
1542
1533
  for (var contextKey in childContext) {
1543
1534
  if (!(contextKey in childContextTypes)) {
1544
1535
  {
@@ -7552,7 +7543,6 @@ var didWarnAboutContextTypeOnFunctionComponent;
7552
7543
  var didWarnAboutGetDerivedStateOnFunctionComponent;
7553
7544
  var didWarnAboutFunctionRefs;
7554
7545
  var didWarnAboutReassigningProps;
7555
- var didWarnAboutMaxDuration;
7556
7546
  var didWarnAboutRevealOrder;
7557
7547
  var didWarnAboutTailOptions;
7558
7548
 
@@ -7563,7 +7553,6 @@ var didWarnAboutTailOptions;
7563
7553
  didWarnAboutGetDerivedStateOnFunctionComponent = {};
7564
7554
  didWarnAboutFunctionRefs = {};
7565
7555
  didWarnAboutReassigningProps = false;
7566
- didWarnAboutMaxDuration = false;
7567
7556
  didWarnAboutRevealOrder = {};
7568
7557
  didWarnAboutTailOptions = {};
7569
7558
  }
@@ -7627,7 +7616,7 @@ function updateForwardRef(current, workInProgress, Component, nextProps, renderE
7627
7616
 
7628
7617
  {
7629
7618
  ReactCurrentOwner$1.current = workInProgress;
7630
- setCurrentPhase('render');
7619
+ setIsRendering(true);
7631
7620
  nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);
7632
7621
 
7633
7622
  if ( workInProgress.mode & StrictMode) {
@@ -7637,7 +7626,7 @@ function updateForwardRef(current, workInProgress, Component, nextProps, renderE
7637
7626
  }
7638
7627
  }
7639
7628
 
7640
- setCurrentPhase(null);
7629
+ setIsRendering(false);
7641
7630
  }
7642
7631
 
7643
7632
  if (current !== null && !didReceiveUpdate) {
@@ -7845,7 +7834,7 @@ function updateFunctionComponent(current, workInProgress, Component, nextProps,
7845
7834
 
7846
7835
  {
7847
7836
  ReactCurrentOwner$1.current = workInProgress;
7848
- setCurrentPhase('render');
7837
+ setIsRendering(true);
7849
7838
  nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);
7850
7839
 
7851
7840
  if ( workInProgress.mode & StrictMode) {
@@ -7855,7 +7844,7 @@ function updateFunctionComponent(current, workInProgress, Component, nextProps,
7855
7844
  }
7856
7845
  }
7857
7846
 
7858
- setCurrentPhase(null);
7847
+ setIsRendering(false);
7859
7848
  }
7860
7849
 
7861
7850
  if (current !== null && !didReceiveUpdate) {
@@ -7971,14 +7960,14 @@ function finishClassComponent(current, workInProgress, Component, shouldUpdate,
7971
7960
  }
7972
7961
  } else {
7973
7962
  {
7974
- setCurrentPhase('render');
7963
+ setIsRendering(true);
7975
7964
  nextChildren = instance.render();
7976
7965
 
7977
7966
  if ( workInProgress.mode & StrictMode) {
7978
7967
  instance.render();
7979
7968
  }
7980
7969
 
7981
- setCurrentPhase(null);
7970
+ setIsRendering(false);
7982
7971
  }
7983
7972
  } // React DevTools reads this flag.
7984
7973
 
@@ -8292,8 +8281,10 @@ function mountIndeterminateComponent(_current, workInProgress, Component, render
8292
8281
  ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);
8293
8282
  }
8294
8283
 
8284
+ setIsRendering(true);
8295
8285
  ReactCurrentOwner$1.current = workInProgress;
8296
8286
  value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
8287
+ setIsRendering(false);
8297
8288
  } // React DevTools reads this flag.
8298
8289
 
8299
8290
 
@@ -8459,17 +8450,7 @@ function updateSuspenseComponent(current, workInProgress, renderExpirationTime)
8459
8450
  }
8460
8451
 
8461
8452
  suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);
8462
- pushSuspenseContext(workInProgress, suspenseContext);
8463
-
8464
- {
8465
- if ('maxDuration' in nextProps) {
8466
- if (!didWarnAboutMaxDuration) {
8467
- didWarnAboutMaxDuration = true;
8468
-
8469
- error('maxDuration has been removed from React. ' + 'Remove the maxDuration prop.');
8470
- }
8471
- }
8472
- } // This next part is a bit confusing. If the children timeout, we switch to
8453
+ pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to
8473
8454
  // showing the fallback children in place of the "primary" children.
8474
8455
  // However, we don't want to delete the primary children because then their
8475
8456
  // state will be lost (both the React state and the host state, e.g.
@@ -8491,7 +8472,6 @@ function updateSuspenseComponent(current, workInProgress, renderExpirationTime)
8491
8472
  // custom reconciliation logic to preserve the state of the primary
8492
8473
  // children. It's essentially a very basic form of re-parenting.
8493
8474
 
8494
-
8495
8475
  if (current === null) {
8496
8476
  // If we're currently hydrating, try to hydrate this boundary.
8497
8477
  // But only if this has a fallback.
@@ -9124,9 +9104,9 @@ function updateContextConsumer(current, workInProgress, renderExpirationTime) {
9124
9104
 
9125
9105
  {
9126
9106
  ReactCurrentOwner$1.current = workInProgress;
9127
- setCurrentPhase('render');
9107
+ setIsRendering(true);
9128
9108
  newChildren = render(newValue);
9129
- setCurrentPhase(null);
9109
+ setIsRendering(false);
9130
9110
  } // React DevTools reads this flag.
9131
9111
 
9132
9112
 
@@ -12219,9 +12199,11 @@ function throwException(root, returnFiber, sourceFiber, value, renderExpirationT
12219
12199
  var currentSource = sourceFiber.alternate;
12220
12200
 
12221
12201
  if (currentSource) {
12202
+ sourceFiber.updateQueue = currentSource.updateQueue;
12222
12203
  sourceFiber.memoizedState = currentSource.memoizedState;
12223
12204
  sourceFiber.expirationTime = currentSource.expirationTime;
12224
12205
  } else {
12206
+ sourceFiber.updateQueue = null;
12225
12207
  sourceFiber.memoizedState = null;
12226
12208
  }
12227
12209
  }
@@ -14647,43 +14629,40 @@ var beginWork$1;
14647
14629
  }
14648
14630
 
14649
14631
  var didWarnAboutUpdateInRender = false;
14650
- var didWarnAboutUpdateInGetChildContext = false;
14632
+ var didWarnAboutUpdateInRenderForAnotherComponent;
14633
+
14634
+ {
14635
+ didWarnAboutUpdateInRenderForAnotherComponent = new Set();
14636
+ }
14651
14637
 
14652
14638
  function warnAboutRenderPhaseUpdatesInDEV(fiber) {
14653
14639
  {
14654
- if ((executionContext & RenderContext) !== NoContext) {
14640
+ if (isRendering && (executionContext & RenderContext) !== NoContext) {
14655
14641
  switch (fiber.tag) {
14656
14642
  case FunctionComponent:
14657
14643
  case ForwardRef:
14658
14644
  case SimpleMemoComponent:
14659
14645
  {
14660
- error('Cannot update a component from inside the function body of a ' + 'different component.');
14646
+ var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.
14647
+
14648
+ var dedupeKey = renderingComponentName;
14649
+
14650
+ if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {
14651
+ didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);
14652
+ var setStateComponentName = getComponentName(fiber.type) || 'Unknown';
14653
+
14654
+ error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);
14655
+ }
14661
14656
 
14662
14657
  break;
14663
14658
  }
14664
14659
 
14665
14660
  case ClassComponent:
14666
14661
  {
14667
- switch (phase) {
14668
- case 'getChildContext':
14669
- if (didWarnAboutUpdateInGetChildContext) {
14670
- return;
14671
- }
14662
+ if (!didWarnAboutUpdateInRender) {
14663
+ error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');
14672
14664
 
14673
- error('setState(...): Cannot call setState() inside getChildContext()');
14674
-
14675
- didWarnAboutUpdateInGetChildContext = true;
14676
- break;
14677
-
14678
- case 'render':
14679
- if (didWarnAboutUpdateInRender) {
14680
- return;
14681
- }
14682
-
14683
- error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');
14684
-
14685
- didWarnAboutUpdateInRender = true;
14686
- break;
14665
+ didWarnAboutUpdateInRender = true;
14687
14666
  }
14688
14667
 
14689
14668
  break;
@@ -15843,7 +15822,7 @@ function updateContainer(element, container, parentComponent, callback) {
15843
15822
  }
15844
15823
 
15845
15824
  {
15846
- if (phase === 'render' && current !== null && !didWarnAboutNestedUpdates) {
15825
+ if (isRendering && current !== null && !didWarnAboutNestedUpdates) {
15847
15826
  didWarnAboutNestedUpdates = true;
15848
15827
 
15849
15828
  error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown');
@@ -1,4 +1,4 @@
1
- /** @license React v0.25.0
1
+ /** @license React v0.25.1
2
2
  * react-reconciler.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -140,11 +140,11 @@ Ma(Tf.bind(null,a),d);break}}Tf(a);break;default:throw Error(n(329));}Z(a);if(a.
140
140
  function If(a){var b=a.lastExpiredTime;b=0!==b?b:1073741823;if((W&(pf|qf))!==V)throw Error(n(327));Nf();a===T&&b===U||Of(a,b);if(null!==X){var c=W;W|=pf;var d=Pf();do try{Uf();break}catch(e){Rf(a,e)}while(1);rc();W=c;mf.current=d;if(S===rf)throw c=uf,Of(a,b),De(a,b),Z(a),c;if(null!==X)throw Error(n(261));a.finishedWork=a.current.alternate;a.finishedExpirationTime=b;T=null;Tf(a);Z(a)}return null}function Vf(a,b){Mf(a,b);Z(a);(W&(pf|qf))===V&&H()}
141
141
  function Wf(){if(null!==Df){var a=Df;Df=null;a.forEach(function(a,c){Mf(c,a);Z(c)});H()}}function Xf(a,b){var c=W;W|=1;try{return a(b)}finally{W=c,W===V&&H()}}function Yf(a,b){if((W&(pf|qf))!==V)throw Error(n(187));var c=W;W|=1;try{return dc(99,a.bind(null,b))}finally{W=c,H()}}
142
142
  function Of(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutHandle;c!==Oa&&(a.timeoutHandle=Oa,Na(c));if(null!==X)for(c=X.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&Fb();break;case 3:id();B(E);B(D);break;case 5:kd(d);break;case 4:id();break;case 13:B(K);break;case 19:B(K);break;case 10:tc(d)}c=c.return}T=a;X=Xc(a.current,null);U=b;S=ze;uf=null;wf=vf=1073741823;xf=null;Ce=0;yf=!1}
143
- function Rf(a,b){do{try{rc();nd.current=vd;if(pd)for(var c=M.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}od=0;O=N=M=null;pd=!1;if(null===X||null===X.return)return S=rf,uf=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&"object"===typeof h&&"function"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):g.memoizedState=null}var q=0!==
144
- (K.current&1),r=f;do{var w;if(w=13===r.tag){var z=r.memoizedState;if(null!==z)w=null!==z.dehydrated?!0:!1;else{var Q=r.memoizedProps;w=void 0===Q.fallback?!1:!0!==Q.unstable_avoidThisFallback?!0:q?!1:!0}}if(w){var A=r.updateQueue;if(null===A){var v=new Set;v.add(k);r.updateQueue=v}else A.add(k);if(0===(r.mode&2)){r.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var t=Ac(1073741823,null);t.tag=2;Bc(g,t)}g.expirationTime=1073741823;break a}h=void 0;g=b;var x=e.pingCache;
145
- null===x?(x=e.pingCache=new ef,h=new Set,x.set(k,h)):(h=x.get(k),void 0===h&&(h=new Set,x.set(k,h)));if(!h.has(g)){h.add(g);var ke=cg.bind(null,e,k,g);k.then(ke,ke)}r.effectTag|=4096;r.expirationTime=b;break a}r=r.return}while(null!==r);h=Error((ua(g.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+zb(g))}S!==tf&&(S=sf);h=Ge(h,g);r=f;do{switch(r.tag){case 3:k=
146
- h;r.effectTag|=4096;r.expirationTime=b;var Zf=ff(r,k,b);Cc(r,Zf);break a;case 1:k=h;var $f=r.type,Fc=r.stateNode;if(0===(r.effectTag&64)&&("function"===typeof $f.getDerivedStateFromError||null!==Fc&&"function"===typeof Fc.componentDidCatch&&(null===kf||!kf.has(Fc)))){r.effectTag|=4096;r.expirationTime=b;var ag=jf(r,k,b);Cc(r,ag);break a}}r=r.return}while(null!==r)}X=dg(X)}catch(bg){b=bg;continue}break}while(1)}function Pf(){var a=mf.current;mf.current=vd;return null===a?vd:a}
147
- function Ec(a,b){a<vf&&2<a&&(vf=a);null!==b&&a<wf&&2<a&&(wf=a,xf=b)}function Gc(a){a>Ce&&(Ce=a)}function Uf(){for(;null!==X;)X=eg(X)}function Qf(){for(;null!==X&&!Wb();)X=eg(X)}function eg(a){var b=fg(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=dg(a));nf.current=null;return b}
143
+ function Rf(a,b){do{try{rc();nd.current=vd;if(pd)for(var c=M.memoizedState;null!==c;){var d=c.queue;null!==d&&(d.pending=null);c=c.next}od=0;O=N=M=null;pd=!1;if(null===X||null===X.return)return S=rf,uf=b,X=null;a:{var e=a,f=X.return,g=X,h=b;b=U;g.effectTag|=2048;g.firstEffect=g.lastEffect=null;if(null!==h&&"object"===typeof h&&"function"===typeof h.then){var k=h;if(0===(g.mode&2)){var l=g.alternate;l?(g.updateQueue=l.updateQueue,g.memoizedState=l.memoizedState,g.expirationTime=l.expirationTime):(g.updateQueue=
144
+ null,g.memoizedState=null)}var q=0!==(K.current&1),r=f;do{var w;if(w=13===r.tag){var z=r.memoizedState;if(null!==z)w=null!==z.dehydrated?!0:!1;else{var Q=r.memoizedProps;w=void 0===Q.fallback?!1:!0!==Q.unstable_avoidThisFallback?!0:q?!1:!0}}if(w){var A=r.updateQueue;if(null===A){var v=new Set;v.add(k);r.updateQueue=v}else A.add(k);if(0===(r.mode&2)){r.effectTag|=64;g.effectTag&=-2981;if(1===g.tag)if(null===g.alternate)g.tag=17;else{var t=Ac(1073741823,null);t.tag=2;Bc(g,t)}g.expirationTime=1073741823;
145
+ break a}h=void 0;g=b;var x=e.pingCache;null===x?(x=e.pingCache=new ef,h=new Set,x.set(k,h)):(h=x.get(k),void 0===h&&(h=new Set,x.set(k,h)));if(!h.has(g)){h.add(g);var ke=cg.bind(null,e,k,g);k.then(ke,ke)}r.effectTag|=4096;r.expirationTime=b;break a}r=r.return}while(null!==r);h=Error((ua(g.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+
146
+ zb(g))}S!==tf&&(S=sf);h=Ge(h,g);r=f;do{switch(r.tag){case 3:k=h;r.effectTag|=4096;r.expirationTime=b;var Zf=ff(r,k,b);Cc(r,Zf);break a;case 1:k=h;var $f=r.type,Fc=r.stateNode;if(0===(r.effectTag&64)&&("function"===typeof $f.getDerivedStateFromError||null!==Fc&&"function"===typeof Fc.componentDidCatch&&(null===kf||!kf.has(Fc)))){r.effectTag|=4096;r.expirationTime=b;var ag=jf(r,k,b);Cc(r,ag);break a}}r=r.return}while(null!==r)}X=dg(X)}catch(bg){b=bg;continue}break}while(1)}
147
+ function Pf(){var a=mf.current;mf.current=vd;return null===a?vd:a}function Ec(a,b){a<vf&&2<a&&(vf=a);null!==b&&a<wf&&2<a&&(wf=a,xf=b)}function Gc(a){a>Ce&&(Ce=a)}function Uf(){for(;null!==X;)X=eg(X)}function Qf(){for(;null!==X&&!Wb();)X=eg(X)}function eg(a){var b=fg(a.alternate,a,U);a.memoizedProps=a.pendingProps;null===b&&(b=dg(a));nf.current=null;return b}
148
148
  function dg(a){X=a;do{var b=X.alternate;a=X.return;if(0===(X.effectTag&2048)){b=ye(b,X,U);if(1===U||1!==X.childExpirationTime){for(var c=0,d=X.child;null!==d;){var e=d.expirationTime,f=d.childExpirationTime;e>c&&(c=e);f>c&&(c=f);d=d.sibling}X.childExpirationTime=c}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=X.firstEffect),null!==X.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=X.firstEffect),a.lastEffect=X.lastEffect),1<X.effectTag&&(null!==
149
149
  a.lastEffect?a.lastEffect.nextEffect=X:a.firstEffect=X,a.lastEffect=X))}else{b=Fe(X);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=X.sibling;if(null!==b)return b;X=a}while(null!==X);S===ze&&(S=tf);return null}function Sf(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function Tf(a){var b=bc();dc(99,gg.bind(null,a,b));return null}
150
150
  function gg(a,b){do Nf();while(null!==Bf);if((W&(pf|qf))!==V)throw Error(n(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(n(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=Sf(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-reconciler",
3
3
  "description": "React package for creating custom renderers.",
4
- "version": "0.25.0",
4
+ "version": "0.25.1",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
@@ -27,13 +27,13 @@
27
27
  "node": ">=0.10.0"
28
28
  },
29
29
  "peerDependencies": {
30
- "react": "^16.0.0"
30
+ "react": "^16.13.1"
31
31
  },
32
32
  "dependencies": {
33
33
  "loose-envify": "^1.1.0",
34
34
  "object-assign": "^4.1.1",
35
35
  "prop-types": "^15.6.2",
36
- "scheduler": "^0.19.0"
36
+ "scheduler": "^0.19.1"
37
37
  },
38
38
  "browserify": {
39
39
  "transform": [