mirror of
https://github.com/status-im/react-native.git
synced 2025-02-26 16:10:58 +00:00
Fix $FlowFixMe in Flatlist
Summary: $FlowFixMe suppressed type validation on _listRef. Add appropriate typing to let Flow succeed when $FlowFixMe is removed. Not sure what this project's philosophy around ref types is. In some places I've seen them annotated as any rather than trying to get a more granular type to match. I'm open to suggestions. `yarn flow` [INTERNAL] [ENHANCEMENT] [FlatList.js] - Remove $FlowFixMe from FlatList Closes https://github.com/facebook/react-native/pull/16882 Differential Revision: D6386479 Pulled By: hramos fbshipit-source-id: bed14f2c7071525cb46425ab14214771de0277f3
This commit is contained in:
parent
ad4b124aa1
commit
22a1419900
@ -16,6 +16,7 @@ const MetroListView = require('MetroListView'); // Used as a fallback legacy opt
|
|||||||
const React = require('React');
|
const React = require('React');
|
||||||
const View = require('View');
|
const View = require('View');
|
||||||
const VirtualizedList = require('VirtualizedList');
|
const VirtualizedList = require('VirtualizedList');
|
||||||
|
const ListView = require('ListView');
|
||||||
|
|
||||||
const invariant = require('fbjs/lib/invariant');
|
const invariant = require('fbjs/lib/invariant');
|
||||||
|
|
||||||
@ -326,7 +327,9 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
* Scrolls to the end of the content. May be janky without `getItemLayout` prop.
|
* Scrolls to the end of the content. May be janky without `getItemLayout` prop.
|
||||||
*/
|
*/
|
||||||
scrollToEnd(params?: ?{animated?: ?boolean}) {
|
scrollToEnd(params?: ?{animated?: ?boolean}) {
|
||||||
this._listRef.scrollToEnd(params);
|
if (this._listRef) {
|
||||||
|
this._listRef.scrollToEnd(params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -343,7 +346,9 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
viewOffset?: number,
|
viewOffset?: number,
|
||||||
viewPosition?: number,
|
viewPosition?: number,
|
||||||
}) {
|
}) {
|
||||||
this._listRef.scrollToIndex(params);
|
if (this._listRef) {
|
||||||
|
this._listRef.scrollToIndex(params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -357,7 +362,9 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
item: ItemT,
|
item: ItemT,
|
||||||
viewPosition?: number,
|
viewPosition?: number,
|
||||||
}) {
|
}) {
|
||||||
this._listRef.scrollToItem(params);
|
if (this._listRef) {
|
||||||
|
this._listRef.scrollToItem(params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -366,7 +373,9 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
* Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList
|
* Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList
|
||||||
*/
|
*/
|
||||||
scrollToOffset(params: {animated?: ?boolean, offset: number}) {
|
scrollToOffset(params: {animated?: ?boolean, offset: number}) {
|
||||||
this._listRef.scrollToOffset(params);
|
if (this._listRef) {
|
||||||
|
this._listRef.scrollToOffset(params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -375,7 +384,9 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
* taps on items or by navigation actions.
|
* taps on items or by navigation actions.
|
||||||
*/
|
*/
|
||||||
recordInteraction() {
|
recordInteraction() {
|
||||||
this._listRef.recordInteraction();
|
if (this._listRef) {
|
||||||
|
this._listRef.recordInteraction();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -384,7 +395,9 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
* @platform ios
|
* @platform ios
|
||||||
*/
|
*/
|
||||||
flashScrollIndicators() {
|
flashScrollIndicators() {
|
||||||
this._listRef.flashScrollIndicators();
|
if (this._listRef) {
|
||||||
|
this._listRef.flashScrollIndicators();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -457,13 +470,10 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_hasWarnedLegacy = false;
|
_hasWarnedLegacy = false;
|
||||||
_listRef: VirtualizedList;
|
_listRef: null | VirtualizedList | ListView;
|
||||||
_virtualizedListPairs: Array<ViewabilityConfigCallbackPair> = [];
|
_virtualizedListPairs: Array<ViewabilityConfigCallbackPair> = [];
|
||||||
|
|
||||||
_captureRef = ref => {
|
_captureRef = ref => {
|
||||||
/* $FlowFixMe(>=0.53.0 site=react_native_fb,react_native_oss) This comment
|
|
||||||
* suppresses an error when upgrading Flow's support for React. To see the
|
|
||||||
* error delete this comment and run Flow. */
|
|
||||||
this._listRef = ref;
|
this._listRef = ref;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user