xgfe / react-native-datepicker

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

Component will receive props #472

Open HossamElharmeil opened 1 year ago

HossamElharmeil commented 1 year ago

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch react-native-datepicker@1.7.2 for the project I'm working on.

I receive a warning saying that componentWillReceiveProps is deprecated.

Here is the diff that solved my problem:

diff --git a/node_modules/react-native-datepicker/datepicker.js b/node_modules/react-native-datepicker/datepicker.js
index ac6cacd..3d09e9b 100644
--- a/node_modules/react-native-datepicker/datepicker.js
+++ b/node_modules/react-native-datepicker/datepicker.js
@@ -50,7 +50,7 @@ class DatePicker extends Component {
     this.setModalVisible = this.setModalVisible.bind(this);
   }

-  componentWillReceiveProps(nextProps) {
+  UNSAFE_componentWillReceiveProps(nextProps) {
     if (nextProps.date !== this.props.date) {
       this.setState({date: this.getDate(nextProps.date)});
     }
@@ -66,7 +66,8 @@ class DatePicker extends Component {
         this.state.animatedHeight,
         {
           toValue: height,
-          duration: duration
+          duration: duration,
+          useNativeDriver: false
         }
       ).start();
     } else {
@@ -74,7 +75,8 @@ class DatePicker extends Component {
         this.state.animatedHeight,
         {
           toValue: 0,
-          duration: duration
+          duration: duration,
+          useNativeDriver: false
         }
       ).start(() => {
         this.setState({modalVisible: visible});

This issue body was partially generated by patch-package.

tacianoscur commented 1 year ago

same here

Screenshot 2023-02-05 at 21 59 18