File tree Expand file tree Collapse file tree 3 files changed +13
-5
lines changed
packages/react-native-gesture-handler/src/web Expand file tree Collapse file tree 3 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -46,9 +46,11 @@ export default class NativeViewGestureHandler extends GestureHandler {
46
46
if ( this . config . disallowInterruption !== undefined ) {
47
47
this . disallowInterruption = this . config . disallowInterruption ;
48
48
}
49
-
50
- const view = this . delegate . view as HTMLElement ;
51
- this . restoreViewStyles ( view ) ;
49
+ if ( this . delegate . isInitialized ) {
50
+ // this function is called on handler creation, which happens before initializing delegate
51
+ const view = this . delegate . view as HTMLElement ;
52
+ this . restoreViewStyles ( view ) ;
53
+ }
52
54
}
53
55
54
56
private restoreViewStyles ( view : HTMLElement ) {
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ export interface MeasureResult {
8
8
}
9
9
10
10
export interface GestureHandlerDelegate < TComponent , THandler > {
11
+ isInitialized : boolean ;
11
12
view : TComponent ;
12
13
13
14
init ( viewRef : number , handler : THandler ) : void ;
Original file line number Diff line number Diff line change @@ -12,6 +12,7 @@ import { Config } from '../interfaces';
12
12
import { MouseButton } from '../../handlers/gestureHandlerCommon' ;
13
13
import KeyboardEventManager from './KeyboardEventManager' ;
14
14
import WheelEventManager from './WheelEventManager' ;
15
+ import { tagMessage } from '../../utils' ;
15
16
16
17
interface DefaultViewStyles {
17
18
userSelect : string ;
@@ -21,7 +22,7 @@ interface DefaultViewStyles {
21
22
export class GestureHandlerWebDelegate
22
23
implements GestureHandlerDelegate < HTMLElement , IGestureHandler >
23
24
{
24
- private isInitialized = false ;
25
+ public isInitialized = false ;
25
26
private _view : HTMLElement | null = null ;
26
27
27
28
private gestureHandler ! : IGestureHandler ;
@@ -233,7 +234,11 @@ export class GestureHandlerWebDelegate
233
234
}
234
235
235
236
public get view ( ) {
236
- return this . _view ! ;
237
+ if ( ! this . _view ) {
238
+ throw new Error ( tagMessage ( "component's view is null" ) ) ;
239
+ }
240
+
241
+ return this . _view ;
237
242
}
238
243
public set view ( value : HTMLElement ) {
239
244
this . _view = value ;
You can’t perform that action at this time.
0 commit comments