From 48d4c1c7a7bee243e79247b247274b0392b8a417 Mon Sep 17 00:00:00 2001 From: youluna Date: Tue, 4 Feb 2020 17:53:06 +0800 Subject: [PATCH 1/2] chore(*): add try catch to enhance robotness --- src/overlay/gateway.jsx | 6 +++++- src/overlay/overlay.jsx | 6 +++++- src/overlay/position.jsx | 6 +++++- src/overlay/utils/find-node.js | 6 +++++- src/table/lock.jsx | 9 ++++++++- 5 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/overlay/gateway.jsx b/src/overlay/gateway.jsx index 7351afeb1d..32f8d16658 100644 --- a/src/overlay/gateway.jsx +++ b/src/overlay/gateway.jsx @@ -32,7 +32,11 @@ export default class Gateway extends Component { } getChildNode() { - return findDOMNode(this.child); + try { + return findDOMNode(this.child); + } catch (err) { + return null; + } } saveChildRef = ref => { diff --git a/src/overlay/overlay.jsx b/src/overlay/overlay.jsx index af255b5c46..00fbf181ac 100644 --- a/src/overlay/overlay.jsx +++ b/src/overlay/overlay.jsx @@ -583,7 +583,11 @@ export default class Overlay extends Component { } getContentNode() { - return findDOMNode(this.contentRef); + try { + return findDOMNode(this.contentRef); + } catch (err) { + return null; + } } getWrapperNode() { diff --git a/src/overlay/position.jsx b/src/overlay/position.jsx index 59d3c1b36a..66edb83510 100644 --- a/src/overlay/position.jsx +++ b/src/overlay/position.jsx @@ -120,7 +120,11 @@ export default class Position extends Component { } getContentNode() { - return findDOMNode(this); + try { + return findDOMNode(this); + } catch (err) { + return null; + } } getTargetNode() { diff --git a/src/overlay/utils/find-node.js b/src/overlay/utils/find-node.js index 86006a2f35..ad7d284f2a 100644 --- a/src/overlay/utils/find-node.js +++ b/src/overlay/utils/find-node.js @@ -10,7 +10,11 @@ export default function findNode(target, param) { } if (typeof target === 'function') { - target = target(param); + try { + target = target(param); + } catch (err) { + target = null; + } } if (!target) { diff --git a/src/table/lock.jsx b/src/table/lock.jsx index f649f6c891..7cf362f1f3 100644 --- a/src/table/lock.jsx +++ b/src/table/lock.jsx @@ -380,7 +380,14 @@ export default function lock(BaseComponent) { } ); - const node = findDOMNode(this); + let node; + + try { + node = findDOMNode(this); + } catch (err) { + node = null; + } + const width = node.clientWidth; // if the table doesn't exist, there is no need to adjust From d28fd47e559e0f35130f1fcae3316a313102b6cd Mon Sep 17 00:00:00 2001 From: youluna Date: Tue, 4 Feb 2020 18:00:48 +0800 Subject: [PATCH 2/2] chore(*): fix table --- src/table/lock.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/table/lock.jsx b/src/table/lock.jsx index 7cf362f1f3..86cf33a20e 100644 --- a/src/table/lock.jsx +++ b/src/table/lock.jsx @@ -380,16 +380,16 @@ export default function lock(BaseComponent) { } ); - let node; + let node, width; try { node = findDOMNode(this); + width = node.clientWidth; } catch (err) { node = null; + width = 0; } - const width = node.clientWidth; - // if the table doesn't exist, there is no need to adjust if (width === 0) { return true;