Page MenuHomePhabricator

D14014.id.diff
No OneTemporary

D14014.id.diff

diff --git a/native/chat/chat-input-bar.react.js b/native/chat/chat-input-bar.react.js
--- a/native/chat/chat-input-bar.react.js
+++ b/native/chat/chat-input-bar.react.js
@@ -361,19 +361,6 @@
return ChatInputBar.systemKeyboardShowing(this.props);
}
- componentDidMount() {
- const { isActive } = this.props;
- if (isActive) {
- this.props.addEditInputMessageListener();
- }
- }
-
- componentWillUnmount() {
- if (this.props.isActive) {
- this.props.removeEditInputMessageListener();
- }
- }
-
componentDidUpdate(prevProps: Props) {
if (
this.props.textEdited &&
@@ -1400,25 +1387,37 @@
React.useEffect(() => {
const { navigation } = props;
- if (!navigation) {
- return noop;
+
+ if (isActive) {
+ addEditInputMessageListener();
}
- const clearBeforeRemoveListener = navigation.addListener(
+ const clearBeforeRemoveListener = navigation?.addListener(
'beforeRemove',
onNavigationBeforeRemove,
);
- const clearFocusListener = navigation.addListener(
+ const clearFocusListener = navigation?.addListener(
'focus',
onNavigationFocus,
);
- const clearBlurListener = navigation.addListener('blur', onNavigationBlur);
+ const clearBlurListener = navigation?.addListener('blur', onNavigationBlur);
return () => {
- clearBeforeRemoveListener();
- clearFocusListener();
- clearBlurListener();
+ if (isActive) {
+ removeEditInputMessageListener();
+ }
+ clearBeforeRemoveListener?.();
+ clearFocusListener?.();
+ clearBlurListener?.();
};
- }, [onNavigationBeforeRemove, onNavigationBlur, onNavigationFocus, props]);
+ }, [
+ addEditInputMessageListener,
+ isActive,
+ onNavigationBeforeRemove,
+ onNavigationBlur,
+ onNavigationFocus,
+ props,
+ removeEditInputMessageListener,
+ ]);
return (
<ChatInputBar

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 23, 1:37 PM (12 h, 59 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2570922
Default Alt Text
D14014.id.diff (1 KB)

Event Timeline