This repository was archived by the owner on Dec 5, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +20
-18
lines changed Expand file tree Collapse file tree 3 files changed +20
-18
lines changed Original file line number Diff line number Diff line change 11{
22 "dist/index.umd.js" : {
3- "bundled" : 67000 ,
4- "minified" : 23875 ,
5- "gzipped" : 7202
3+ "bundled" : 67296 ,
4+ "minified" : 23836 ,
5+ "gzipped" : 7176
66 },
77 "dist/index.umd.min.js" : {
8- "bundled" : 31451 ,
9- "minified" : 12925 ,
10- "gzipped" : 4201
8+ "bundled" : 31932 ,
9+ "minified" : 12958 ,
10+ "gzipped" : 4186
1111 },
1212 "dist/index.esm.js" : {
13- "bundled" : 12172 ,
14- "minified" : 7049 ,
15- "gzipped" : 2064 ,
13+ "bundled" : 12751 ,
14+ "minified" : 7575 ,
15+ "gzipped" : 2077 ,
1616 "treeshaked" : {
1717 "rollup" : {
18- "code" : 3742 ,
18+ "code" : 3790 ,
1919 "import_statements" : 137
2020 },
2121 "webpack" : {
22- "code" : 4872
22+ "code" : 4900
2323 }
2424 }
2525 }
Original file line number Diff line number Diff line change @@ -3,7 +3,9 @@ import * as React from 'react';
33import createContext , { type Context } from 'create-react-context' ;
44
55export const ManagerReferenceNodeContext : Context < ?HTMLElement > = createContext ( ) ;
6- export const ManagerReferenceNodeSetterContext : Context < void | ( ?HTMLElement ) => void > = createContext ( ) ;
6+ export const ManagerReferenceNodeSetterContext : Context <
7+ void | ( ( ?HTMLElement ) => void )
8+ > = createContext ( ) ;
79
810export type ManagerProps = {
911 children : React . Node ,
@@ -13,12 +15,16 @@ export default class Manager extends React.Component<ManagerProps> {
1315 referenceNode : ?HTMLElement ;
1416
1517 setReferenceNode = ( newReferenceNode : ?HTMLElement ) => {
16- if ( this . referenceNode !== newReferenceNode ) {
18+ if ( newReferenceNode && this . referenceNode !== newReferenceNode ) {
1719 this . referenceNode = newReferenceNode ;
1820 this . forceUpdate ( ) ;
1921 }
2022 } ;
2123
24+ componentWillUnmount ( ) {
25+ this . referenceNode = null ;
26+ }
27+
2228 render ( ) {
2329 return (
2430 < ManagerReferenceNodeContext . Provider value = { this . referenceNode } >
Original file line number Diff line number Diff line change @@ -65,8 +65,6 @@ describe('Managed Reference', () => {
6565 let ReferenceComp = ( { innerRef } ) => (
6666 < div
6767 ref = { node => {
68- // We just want to invoke this once so that we have access to the referenceElement in the upper scope.
69- if ( referenceElement ) return ;
7068 innerRef ( node ) ;
7169 referenceElement = node ;
7270 } }
@@ -89,8 +87,6 @@ describe('Managed Reference', () => {
8987 let ReferenceComp = ( { innerRef } ) => (
9088 < div
9189 ref = { node => {
92- // We just want to invoke this once so that we have access to the referenceElement in the upper scope.
93- if ( referenceElement ) return ;
9490 innerRef ( node ) ;
9591 referenceElement = node ;
9692 } }
@@ -106,7 +102,7 @@ describe('Managed Reference', () => {
106102 ) ;
107103
108104 expect ( wrapper . instance ( ) . referenceNode ) . toBe ( referenceElement ) ;
109- wrapper . instance ( ) . setReferenceNode ( null ) ;
105+ wrapper . instance ( ) . componentWillUnmount ( )
110106 expect ( wrapper . instance ( ) . referenceNode ) . toBeNull ( ) ;
111107 } ) ;
112108} ) ;
You can’t perform that action at this time.
0 commit comments