Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(35280): added a fix to trigger on viewable items changed when nul…
…l or 0 is passed in first element (facebook#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: facebook#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
- Loading branch information