Files
react-native/Libraries
Gaurav ROy 011ea3306f fix(35280): added a fix to trigger on viewable items changed when null or 0 is passed in first element (#36009)
Summary:
Since currently the check was for null , and that too not === check. So added a check , only for item !== undefined, since null is an assigned value, and we can have null as values in the array for flatlist,
 undefined is in absence of any data, hence if its only undefined we should assign falsy to frame variable, since null is an assigned value, sometimes null can be passed to data in the dataset

 Hence added a check on top of Sam's previous commit to fix it

 UPDATE:

 Now after discussing with NickGerleman , removed the check for item with nullish/undefined.
 Now directly frames value is being controlled by _keyExtractor function

 This is already an issue [https://github.com/facebook/react-native/issues/35280](url)

Currently in my project, even [0,1] -> didnt trigger onViewableItemsChanged since, it was considered as falsy value,
went to check the node modules code for flatlist, debugged this.
When pulled latest main branch, saw it was partially fixed , but for null as values it wasnt fixed. So added that check .

## Changelog

[General] [Fixed] Fix VirtualizedList onViewableItemsChanged won't trigger if first item in data  is null

```
const frame =
      item !== undefined ? this._frames[this._keyExtractor(item, index, props)]
        : undefined;
```

      in place of existing which is

```
const frame =
      item != null ? this._frames[this._keyExtractor(item, index, props)]
        : undefined;
```

Update:

`const frame = this._frames[this._keyExtractor(item, index, props)]`

Finally this is the one used for getting frames value

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message

Pull Request resolved: https://github.com/facebook/react-native/pull/36009

Test Plan:
Checked out in my local , wrt changes , will share video if required

Update:
After the new changes too, checked in local, working fine

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

Reviewed By: NickGerleman

Differential Revision: D42934757

Pulled By: skinsshark

fbshipit-source-id: cb5622a79523bccbdfbc15470baf84422f635b33
2023-02-06 00:56:53 -08:00
..
2022-09-30 14:28:48 -07:00
2023-01-03 18:09:06 -08:00
2023-01-23 07:38:48 -08:00
2022-09-30 14:28:48 -07:00
2023-01-23 07:38:48 -08:00
2022-09-30 14:28:48 -07:00
2022-09-30 14:28:48 -07:00
2023-01-18 08:21:49 -08:00
2023-01-03 18:09:06 -08:00
2022-09-30 14:28:48 -07:00
2023-01-03 18:09:06 -08:00
2023-01-03 18:09:06 -08:00
2022-09-30 14:28:48 -07:00
2022-12-06 19:34:14 -08:00
2023-01-03 18:09:06 -08:00
2022-11-02 14:58:37 -07:00
2023-01-03 18:09:06 -08:00
2023-01-19 14:04:23 -08:00