Skip to content
Permalink
Browse files
Removing <TextInput>'s onTextInput event
Summary:
This is the first diff in the series. It removes Flow types for this feature to verify that we actually do not have any usages. After it lands, we will remove actual support on the native side.

There are several reasons why removing it is a good idea:
* There is no any evidence that this feature is actually useful. That was discussed several times (e.g. see T7936714) during RN lifetime and the overall consensus is: We need something else, something like sync `onChange` event instead of it.
* Supporting the previous point, it's not used (at least inside Facebook). I searched hard and I could find only one place where it's used: in the TextInput Example.
* To deliver more functionality we should lean towards W3C specs, this one is not W3C compliant.
* Supporting this Feature in Fabric is quite challenging, so I want to do it sooner than later.
* This feature was never documented.

Changelog: [Breaking] `<TextInput>::onTextInput` event was removed

Reviewed By: TheSavior

Differential Revision: D18456175

fbshipit-source-id: c7a8ed7a86b33ecc01d45497645fe249556fdf96
  • Loading branch information
shergin authored and facebook-github-bot committed Nov 19, 2019
1 parent 9f0b80b commit 3f7e0a2c9601fc186f25bfd794cd0008ac3983ab
Showing 1 changed file with 0 additions and 8 deletions.
@@ -548,8 +548,6 @@ export type Props = $ReadOnly<{|
*/
onContentSizeChange?: ?(e: ContentSizeChangeEvent) => mixed,

onTextInput?: ?(e: TextInputEvent) => mixed,

/**
* Callback that is called when text input ends.
*/
@@ -948,7 +946,6 @@ class InternalTextInput extends React.Component<Props> {
onScroll={this._onScroll}
onSelectionChange={this._onSelectionChange}
onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
onTextInput={this._onTextInput}
selection={selection}
style={style}
text={this._getText()}
@@ -983,7 +980,6 @@ class InternalTextInput extends React.Component<Props> {
onFocus={this._onFocus}
onScroll={this._onScroll}
onSelectionChange={this._onSelectionChange}
onTextInput={this._onTextInput}
selection={selection}
style={style}
text={this._getText()}
@@ -1111,10 +1107,6 @@ class InternalTextInput extends React.Component<Props> {
}
};

_onTextInput = (event: TextInputEvent) => {
this.props.onTextInput && this.props.onTextInput(event);
};

_onScroll = (event: ScrollEvent) => {
this.props.onScroll && this.props.onScroll(event);
};

0 comments on commit 3f7e0a2

Please sign in to comment.