xgfe / react-native-datepicker

react native datePicker component for both Android and IOS, useing DatePikcerAndroid, TimePickerAndroid and DatePickerIOS
MIT License
2.12k stars 725 forks source link

onDateChange not updating fast enough, reverts to previous state upon not being able to register the scroll-select(iOS) #458

Open Guide4Ever opened 2 years ago

Guide4Ever commented 2 years ago

Issue

onDateChange function is not updating fast enough. Sometimes when I quickly scroll and select let say 4 numbers (sequentially), the last (in our case 4th value) is not registered thus reverting back to the 3rd. That occurs with each scroll wheel separately. It's not an issue of combined scrolling of i.e. days and months. Individual scroll picker inherits this issue.

The last value upon fast scroll-select does not get updated/ registered by onDateChange function, it locks to the previous state. (short explanation).

Expected Behavior

Should register the last value even if it's being fast scrolled.

Code

      <DatePicker
        scrollRef={scrollRef}
        mode="time"
        date={date}
        locale="en"
        open={pickerOpen}
        onDateChange={changeFunction}
        minuteInterval={15}
      />

Environment

  1. react-native -v: 0.66.1
  2. node -v: v16.13.0
  3. npm -v: 8.1.0
  4. target platform: iOS (could be Android too, haven't tested there yet)
  5. operating system: macOS (emulator Xcode)
Guide4Ever commented 2 years ago

Upon checking with Flipper. Function was called 4 out of 4 times, however in the last 2 cases, the data was identical, no change. I noticed this issue using Flipper and console logging onDateChange function. RIP At this point, it's out of my control to do anything.