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 &&
@@ -1405,24 +1392,33 @@
);
React.useEffect(() => {
- const { navigation } = props;
- if (!navigation) {
- return undefined;
+ if (isActive) {
+ addEditInputMessageListener();
}
- const clearBeforeRemoveListener = navigation.addListener(
+ return () => {
+ if (isActive) {
+ removeEditInputMessageListener();
+ }
+ };
+ }, [addEditInputMessageListener, isActive, removeEditInputMessageListener]);
+
+ React.useEffect(() => {
+ const { navigation } = props;
+
+ 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();
+ clearBeforeRemoveListener?.();
+ clearFocusListener?.();
+ clearBlurListener?.();
};
}, [onNavigationBeforeRemove, onNavigationBlur, onNavigationFocus, props]);

File Metadata

Mime Type
text/plain
Expires
Sat, Dec 28, 8:30 PM (8 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2727255
Default Alt Text
D14014.id.diff (1 KB)

Event Timeline