sbycrosz / react-native-credit-card-input

Easy, cross-platform credit-card input for your React Native Project! Start accepting payment πŸ’° in your app today!
MIT License
1.46k stars 699 forks source link

Focus Bug on LiteCreditCardInput (Temp Workaround) #206

Closed SilvioLuis closed 2 months ago

SilvioLuis commented 3 years ago

Hi! πŸ‘‹

Firstly, thanks for your work on this project! πŸ™‚

Today I used patch-package to patch react-native-credit-card-input@0.4.1 for the project I'm working on.

Here is the diff that solved my problem:

diff --git a/node_modules/react-native-credit-card-input/src/LiteCreditCardInput.js b/node_modules/react-native-credit-card-input/src/LiteCreditCardInput.js
index a5f166b..4bae28e 100644
--- a/node_modules/react-native-credit-card-input/src/LiteCreditCardInput.js
+++ b/node_modules/react-native-credit-card-input/src/LiteCreditCardInput.js
@@ -96,7 +96,7 @@ export default class LiteCreditCardInput extends Component {
   componentDidMount = () => this._focus(this.props.focused);

   componentWillReceiveProps = newProps => {
-    if (this.props.focused !== newProps.focused) this._focus(newProps.focused);
+    if (this.props.focused !== newProps.focused && newProps.focused !== 'name') this._focus(newProps.focused);
   };

   _focusNumber = () => this._focus("number");

This issue body was partially generated by patch-package.