Fix ref type for Native Scroll View
Summary: These types were wrong, this is a HostComponent, not a ReactNative.NativeComponent Reviewed By: lunaleaps Differential Revision: D17862305 fbshipit-source-id: e1e7acc7a5892f124b07cdc39d73d6ce7d414063
This commit is contained in:
Родитель
fa1c2be387
Коммит
db662af5b2
|
@ -38,6 +38,7 @@ import type {
|
|||
ScrollEvent,
|
||||
LayoutEvent,
|
||||
} from '../../Types/CoreEventTypes';
|
||||
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
|
||||
import type {State as ScrollResponderState} from '../ScrollResponder';
|
||||
import type {ViewProps} from '../View/ViewPropTypes';
|
||||
import type {Props as ScrollViewStickyHeaderProps} from './ScrollViewStickyHeader';
|
||||
|
@ -792,15 +793,11 @@ class ScrollView extends React.Component<Props, State> {
|
|||
return ReactNative.findNodeHandle(this._innerViewRef);
|
||||
}
|
||||
|
||||
getInnerViewRef(): ?React.ElementRef<
|
||||
Class<ReactNative.NativeComponent<mixed>>,
|
||||
> {
|
||||
getInnerViewRef(): ?React.ElementRef<HostComponent<mixed>> {
|
||||
return this._innerViewRef;
|
||||
}
|
||||
|
||||
getNativeScrollRef(): ?React.ElementRef<
|
||||
Class<ReactNative.NativeComponent<mixed>>,
|
||||
> {
|
||||
getNativeScrollRef(): ?React.ElementRef<HostComponent<mixed>> {
|
||||
return this._scrollViewRef;
|
||||
}
|
||||
|
||||
|
@ -966,21 +963,13 @@ class ScrollView extends React.Component<Props, State> {
|
|||
this.props.onContentSizeChange(width, height);
|
||||
};
|
||||
|
||||
_scrollViewRef: ?React.ElementRef<
|
||||
Class<ReactNative.NativeComponent<mixed>>,
|
||||
> = null;
|
||||
_setScrollViewRef = (
|
||||
ref: ?React.ElementRef<Class<ReactNative.NativeComponent<mixed>>>,
|
||||
) => {
|
||||
_scrollViewRef: ?React.ElementRef<HostComponent<mixed>> = null;
|
||||
_setScrollViewRef = (ref: ?React.ElementRef<HostComponent<mixed>>) => {
|
||||
this._scrollViewRef = ref;
|
||||
};
|
||||
|
||||
_innerViewRef: ?React.ElementRef<
|
||||
Class<ReactNative.NativeComponent<mixed>>,
|
||||
> = null;
|
||||
_setInnerViewRef = (
|
||||
ref: ?React.ElementRef<Class<ReactNative.NativeComponent<mixed>>>,
|
||||
) => {
|
||||
_innerViewRef: ?React.ElementRef<HostComponent<mixed>> = null;
|
||||
_setInnerViewRef = (ref: ?React.ElementRef<HostComponent<mixed>>) => {
|
||||
this._innerViewRef = ref;
|
||||
};
|
||||
|
||||
|
@ -1083,7 +1072,6 @@ class ScrollView extends React.Component<Props, State> {
|
|||
const contentContainer = (
|
||||
<ScrollContentContainerViewClass
|
||||
{...contentSizeChangeProps}
|
||||
// $FlowFixMe Invalid prop usage
|
||||
ref={this._setInnerViewRef}
|
||||
style={contentContainerStyle}
|
||||
removeClippedSubviews={
|
||||
|
@ -1190,7 +1178,6 @@ class ScrollView extends React.Component<Props, State> {
|
|||
// On iOS the RefreshControl is a child of the ScrollView.
|
||||
// tvOS lacks native support for RefreshControl, so don't include it in that case
|
||||
return (
|
||||
// $FlowFixMe
|
||||
<ScrollViewClass {...props} ref={this._setScrollViewRef}>
|
||||
{Platform.isTV ? null : refreshControl}
|
||||
{contentContainer}
|
||||
|
@ -1209,7 +1196,6 @@ class ScrollView extends React.Component<Props, State> {
|
|||
<ScrollViewClass
|
||||
{...props}
|
||||
style={[baseStyle, inner]}
|
||||
// $FlowFixMe
|
||||
ref={this._setScrollViewRef}>
|
||||
{contentContainer}
|
||||
</ScrollViewClass>,
|
||||
|
@ -1217,7 +1203,6 @@ class ScrollView extends React.Component<Props, State> {
|
|||
}
|
||||
}
|
||||
return (
|
||||
// $FlowFixMe
|
||||
<ScrollViewClass {...props} ref={this._setScrollViewRef}>
|
||||
{contentContainer}
|
||||
</ScrollViewClass>
|
||||
|
|
Загрузка…
Ссылка в новой задаче