Skip to content

Commit

Permalink
Un-deprecate TextInput.State.focusTextInput and TextInput.State.blurT…
Browse files Browse the repository at this point in the history
…extInput (#20326)

Summary:
In #18936 we decided to deprecate `focusTextInput` and `blurTextInput` but since then I found a valid use case for it that is pretty much impossible to implement otherwise.

React Navigation uses it to blur / re-focus the input during the swipe back gesture. Blur can be done with Keyboard.dismiss but without this api we cannot re-focus the text field that was focused if the swipe back gesture is cancelled. See https://github.com/react-navigation/react-navigation/blob/master/src/navigators/createKeyboardAwareNavigator.js#L21-L34

I think it is best to just bring back this api.
Pull Request resolved: #20326

Differential Revision: D9182810

Pulled By: hramos

fbshipit-source-id: 3740421ffafb8f814522d15788f3466324177c16
  • Loading branch information
janicduplessis authored and facebook-github-bot committed Aug 6, 2018
1 parent fb223e7 commit 476a831
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions Libraries/Components/TextInput/TextInput.js
Original file line number Diff line number Diff line change
Expand Up @@ -326,18 +326,8 @@ const TextInput = createReactClass({
statics: {
State: {
currentlyFocusedField: TextInputState.currentlyFocusedField,
focusTextInput: (textFieldID: ?number) => {
console.warn(
'`focusTextInput` is deprecated, use the `focus` method of the `TextInput` ref instead.',
);
TextInputState.focusTextInput(textFieldID);
},
blurTextInput: (textFieldID: ?number) => {
console.warn(
'`blurTextInput` is deprecated, use `Keyboard.dismiss` or the `blur` method of the `TextInput` ref.',
);
TextInputState.blurTextInput(textFieldID);
},
focusTextInput: TextInputState.focusTextInput,
blurTextInput: TextInputState.blurTextInput,
},
},
propTypes: {
Expand Down

0 comments on commit 476a831

Please sign in to comment.