just add a removeClippedSubviews={false} to the flatlist component solved the issue ,removeClippedSubviews={false} basically tells React Native “don’t aggressively detach off-screen child views”, so the native ViewGroup child count stays consistent with what JS thinks it has.
The trade-off is slightly higher memory usage because those off-screen items stay mounted instead of being recycled, but it’s a perfectly fine fix if the list isn’t huge.