Skip to content

Commit bb3c22c

Browse files
raphamorimgaearon
authored andcommitted
Use const/let in more places (#11467)
* Convert ReactDOM to const/let * Convert ReactDOMComponentTree to const/let * Convert ReactDOMComponentTree to const/let * Convert getNodeForCharacterOffset to const/let * Convert getTextContentAccessor to const/let * Convert inputValueTracking to const/let * Convert setInnerHTML to const/let * Convert setTextContent to const/let * Convert validateDOMNesting to const/let
1 parent 1d1f703 commit bb3c22c

9 files changed

+59
-58
lines changed

packages/react-dom/src/client/ReactDOM.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ import {
4949
DOCUMENT_FRAGMENT_NODE,
5050
} from '../shared/HTMLNodeType';
5151
import {ROOT_ATTRIBUTE_NAME} from '../shared/DOMProperty';
52-
var {
52+
const {
5353
createElement,
5454
createTextNode,
5555
setInitialProperties,
@@ -63,8 +63,8 @@ var {
6363
warnForInsertedHydratedElement,
6464
warnForInsertedHydratedText,
6565
} = ReactDOMFiberComponent;
66-
var {updatedAncestorInfo} = validateDOMNesting;
67-
var {precacheFiberNode, updateFiberProps} = ReactDOMComponentTree;
66+
const {updatedAncestorInfo} = validateDOMNesting;
67+
const {precacheFiberNode, updateFiberProps} = ReactDOMComponentTree;
6868

6969
if (__DEV__) {
7070
var SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';
@@ -163,7 +163,7 @@ function shouldAutoFocusHostComponent(type: string, props: Props): boolean {
163163
return false;
164164
}
165165

166-
var DOMRenderer = ReactFiberReconciler({
166+
const DOMRenderer = ReactFiberReconciler({
167167
getRootHostContext(rootContainerInstance: Container): HostContext {
168168
let type;
169169
let namespace;
@@ -343,7 +343,7 @@ var DOMRenderer = ReactFiberReconciler({
343343
const hostContextDev = ((hostContext: any): HostContextDev);
344344
validateDOMNesting(null, text, hostContextDev.ancestorInfo);
345345
}
346-
var textNode: TextInstance = createTextNode(text, rootContainerInstance);
346+
const textNode: TextInstance = createTextNode(text, rootContainerInstance);
347347
precacheFiberNode(internalInstanceHandle, textNode);
348348
return textNode;
349349
},
@@ -640,7 +640,7 @@ ReactGenericBatching.injection.injectFiberBatchedUpdates(
640640
DOMRenderer.batchedUpdates,
641641
);
642642

643-
var warnedAboutHydrateAPI = false;
643+
let warnedAboutHydrateAPI = false;
644644

645645
function renderSubtreeIntoContainer(
646646
parentComponent: ?React$Component<any, any>,
@@ -785,16 +785,17 @@ ReactRoot.prototype.unmount = function(callback) {
785785
DOMRenderer.updateContainer(null, root, null, callback);
786786
};
787787

788-
var ReactDOM: Object = {
788+
const ReactDOM: Object = {
789789
createPortal,
790790

791791
findDOMNode(
792792
componentOrElement: Element | ?React$Component<any, any>,
793793
): null | Element | Text {
794794
if (__DEV__) {
795-
var owner = (ReactCurrentOwner.current: any);
795+
let owner = (ReactCurrentOwner.current: any);
796796
if (owner !== null) {
797-
var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;
797+
const warnedAboutRefsInRender =
798+
owner.stateNode._warnedAboutRefsInRender;
798799
warning(
799800
warnedAboutRefsInRender,
800801
'%s is accessing findDOMNode inside its render(). ' +
@@ -814,7 +815,7 @@ var ReactDOM: Object = {
814815
return (componentOrElement: any);
815816
}
816817

817-
var inst = ReactInstanceMap.get(componentOrElement);
818+
const inst = ReactInstanceMap.get(componentOrElement);
818819
if (inst) {
819820
return DOMRenderer.findHostInstance(inst);
820821
}

packages/react-dom/src/client/ReactDOMComponentTree.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
import {HostComponent, HostText} from 'shared/ReactTypeOfWork';
99
import invariant from 'fbjs/lib/invariant';
1010

11-
var randomKey = Math.random().toString(36).slice(2);
12-
var internalInstanceKey = '__reactInternalInstance$' + randomKey;
13-
var internalEventHandlersKey = '__reactEventHandlers$' + randomKey;
11+
const randomKey = Math.random().toString(36).slice(2);
12+
const internalInstanceKey = '__reactInternalInstance$' + randomKey;
13+
const internalEventHandlersKey = '__reactEventHandlers$' + randomKey;
1414

1515
export function precacheFiberNode(hostInst, node) {
1616
node[internalInstanceKey] = hostInst;
@@ -26,7 +26,7 @@ export function getClosestInstanceFromNode(node) {
2626
}
2727

2828
// Walk up the tree until we find an ancestor whose instance we have cached.
29-
var parents = [];
29+
let parents = [];
3030
while (!node[internalInstanceKey]) {
3131
parents.push(node);
3232
if (node.parentNode) {
@@ -38,8 +38,8 @@ export function getClosestInstanceFromNode(node) {
3838
}
3939
}
4040

41-
var closest;
42-
var inst = node[internalInstanceKey];
41+
let closest;
42+
let inst = node[internalInstanceKey];
4343
if (inst.tag === HostComponent || inst.tag === HostText) {
4444
// In Fiber, this will always be the deepest root.
4545
return inst;
@@ -56,7 +56,7 @@ export function getClosestInstanceFromNode(node) {
5656
* instance, or null if the node was not rendered by this React.
5757
*/
5858
export function getInstanceFromNode(node) {
59-
var inst = node[internalInstanceKey];
59+
const inst = node[internalInstanceKey];
6060
if (inst) {
6161
if (inst.tag === HostComponent || inst.tag === HostText) {
6262
return inst;

packages/react-dom/src/client/ReactInputSelection.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ function isInDocument(node) {
2424
*/
2525

2626
export function hasSelectionCapabilities(elem) {
27-
var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
27+
const nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
2828
return (
2929
nodeName &&
3030
((nodeName === 'input' && elem.type === 'text') ||
@@ -34,7 +34,7 @@ export function hasSelectionCapabilities(elem) {
3434
}
3535

3636
export function getSelectionInformation() {
37-
var focusedElem = getActiveElement();
37+
const focusedElem = getActiveElement();
3838
return {
3939
focusedElem: focusedElem,
4040
selectionRange: hasSelectionCapabilities(focusedElem)
@@ -49,9 +49,9 @@ export function getSelectionInformation() {
4949
* nodes and place them back in, resulting in focus being lost.
5050
*/
5151
export function restoreSelection(priorSelectionInformation) {
52-
var curFocusedElem = getActiveElement();
53-
var priorFocusedElem = priorSelectionInformation.focusedElem;
54-
var priorSelectionRange = priorSelectionInformation.selectionRange;
52+
const curFocusedElem = getActiveElement();
53+
const priorFocusedElem = priorSelectionInformation.focusedElem;
54+
const priorSelectionRange = priorSelectionInformation.selectionRange;
5555
if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {
5656
if (hasSelectionCapabilities(priorFocusedElem)) {
5757
setSelection(priorFocusedElem, priorSelectionRange);
@@ -87,7 +87,7 @@ export function restoreSelection(priorSelectionInformation) {
8787
* -@return {start: selectionStart, end: selectionEnd}
8888
*/
8989
export function getSelection(input) {
90-
var selection;
90+
let selection;
9191

9292
if ('selectionStart' in input) {
9393
// Modern browser with input or textarea.
@@ -110,8 +110,7 @@ export function getSelection(input) {
110110
* -@offsets Object of same form that is returned from get*
111111
*/
112112
export function setSelection(input, offsets) {
113-
var start = offsets.start;
114-
var end = offsets.end;
113+
let {start, end} = offsets;
115114
if (end === undefined) {
116115
end = start;
117116
}

packages/react-dom/src/client/getNodeForCharacterOffset.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ function getSiblingNode(node) {
4444
* @return {?object}
4545
*/
4646
function getNodeForCharacterOffset(root, offset) {
47-
var node = getLeafNode(root);
48-
var nodeStart = 0;
49-
var nodeEnd = 0;
47+
let node = getLeafNode(root);
48+
let nodeStart = 0;
49+
let nodeEnd = 0;
5050

5151
while (node) {
5252
if (node.nodeType === TEXT_NODE) {

packages/react-dom/src/client/getTextContentAccessor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import ExecutionEnvironment from 'fbjs/lib/ExecutionEnvironment';
99

10-
var contentKey = null;
10+
let contentKey = null;
1111

1212
/**
1313
* Gets the key used to access text content on a DOM node.

packages/react-dom/src/client/inputValueTracking.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ type WrapperState = {_valueTracker: ?ValueTracker};
1616
type ElementWithValueTracker = HTMLInputElement & WrapperState;
1717

1818
function isCheckable(elem: HTMLInputElement) {
19-
var type = elem.type;
20-
var nodeName = elem.nodeName;
19+
const type = elem.type;
20+
const nodeName = elem.nodeName;
2121
return (
2222
nodeName &&
2323
nodeName.toLowerCase() === 'input' &&
@@ -34,7 +34,7 @@ function detachTracker(node: ElementWithValueTracker) {
3434
}
3535

3636
function getValueFromNode(node: HTMLInputElement): string {
37-
var value = '';
37+
let value = '';
3838
if (!node) {
3939
return value;
4040
}
@@ -49,13 +49,13 @@ function getValueFromNode(node: HTMLInputElement): string {
4949
}
5050

5151
function trackValueOnNode(node: any): ?ValueTracker {
52-
var valueField = isCheckable(node) ? 'checked' : 'value';
53-
var descriptor = Object.getOwnPropertyDescriptor(
52+
const valueField = isCheckable(node) ? 'checked' : 'value';
53+
const descriptor = Object.getOwnPropertyDescriptor(
5454
node.constructor.prototype,
5555
valueField,
5656
);
5757

58-
var currentValue = '' + node[valueField];
58+
let currentValue = '' + node[valueField];
5959

6060
// if someone has already defined a value or Safari, then bail
6161
// and don't track value will cause over reporting of changes,
@@ -81,7 +81,7 @@ function trackValueOnNode(node: any): ?ValueTracker {
8181
},
8282
});
8383

84-
var tracker = {
84+
const tracker = {
8585
getValue() {
8686
return currentValue;
8787
},
@@ -115,15 +115,15 @@ export function updateValueIfChanged(node: ElementWithValueTracker) {
115115
return false;
116116
}
117117

118-
var tracker = getTracker(node);
118+
const tracker = getTracker(node);
119119
// if there is no tracker at this point it's unlikely
120120
// that trying again will succeed
121121
if (!tracker) {
122122
return true;
123123
}
124124

125-
var lastValue = tracker.getValue();
126-
var nextValue = getValueFromNode(node);
125+
const lastValue = tracker.getValue();
126+
const nextValue = getValueFromNode(node);
127127
if (nextValue !== lastValue) {
128128
tracker.setValue(nextValue);
129129
return true;
@@ -132,7 +132,7 @@ export function updateValueIfChanged(node: ElementWithValueTracker) {
132132
}
133133

134134
export function stopTracking(node: ElementWithValueTracker) {
135-
var tracker = getTracker(node);
135+
const tracker = getTracker(node);
136136
if (tracker) {
137137
tracker.stopTracking();
138138
}

packages/react-dom/src/client/setInnerHTML.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import createMicrosoftUnsafeLocalFunction
1010
from '../shared/createMicrosoftUnsafeLocalFunction';
1111

1212
// SVG temp container for IE lacking innerHTML
13-
var reusableSVGContainer;
13+
let reusableSVGContainer;
1414

1515
/**
1616
* Set the innerHTML property of a node
@@ -19,15 +19,16 @@ var reusableSVGContainer;
1919
* @param {string} html
2020
* @internal
2121
*/
22-
var setInnerHTML = createMicrosoftUnsafeLocalFunction(function(node, html) {
22+
const setInnerHTML = createMicrosoftUnsafeLocalFunction(function(node, html) {
2323
// IE does not have innerHTML for SVG nodes, so instead we inject the
2424
// new markup in a temp node and then move the child nodes across into
2525
// the target node
26+
2627
if (node.namespaceURI === Namespaces.svg && !('innerHTML' in node)) {
2728
reusableSVGContainer =
2829
reusableSVGContainer || document.createElement('div');
2930
reusableSVGContainer.innerHTML = '<svg>' + html + '</svg>';
30-
var svgNode = reusableSVGContainer.firstChild;
31+
const svgNode = reusableSVGContainer.firstChild;
3132
while (node.firstChild) {
3233
node.removeChild(node.firstChild);
3334
}

packages/react-dom/src/client/setTextContent.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import {TEXT_NODE} from '../shared/HTMLNodeType';
2323
*/
2424
var setTextContent = function(node, text) {
2525
if (text) {
26-
var firstChild = node.firstChild;
26+
let firstChild = node.firstChild;
2727

2828
if (
2929
firstChild &&

packages/react-dom/src/client/validateDOMNesting.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import warning from 'fbjs/lib/warning';
1111
import ReactDebugCurrentFiber
1212
from 'react-reconciler/src/ReactDebugCurrentFiber';
1313

14-
var {getCurrentFiberStackAddendum} = ReactDebugCurrentFiber;
14+
const {getCurrentFiberStackAddendum} = ReactDebugCurrentFiber;
1515
var validateDOMNesting = emptyFunction;
1616

1717
if (__DEV__) {
@@ -406,8 +406,8 @@ if (__DEV__) {
406406

407407
validateDOMNesting = function(childTag, childText, ancestorInfo) {
408408
ancestorInfo = ancestorInfo || emptyAncestorInfo;
409-
var parentInfo = ancestorInfo.current;
410-
var parentTag = parentInfo && parentInfo.tag;
409+
const parentInfo = ancestorInfo.current;
410+
const parentTag = parentInfo && parentInfo.tag;
411411

412412
if (childText != null) {
413413
warning(
@@ -417,29 +417,29 @@ if (__DEV__) {
417417
childTag = '#text';
418418
}
419419

420-
var invalidParent = isTagValidWithParent(childTag, parentTag)
420+
const invalidParent = isTagValidWithParent(childTag, parentTag)
421421
? null
422422
: parentInfo;
423-
var invalidAncestor = invalidParent
423+
const invalidAncestor = invalidParent
424424
? null
425425
: findInvalidAncestorForTag(childTag, ancestorInfo);
426-
var invalidParentOrAncestor = invalidParent || invalidAncestor;
426+
const invalidParentOrAncestor = invalidParent || invalidAncestor;
427427
if (!invalidParentOrAncestor) {
428428
return;
429429
}
430430

431-
var ancestorTag = invalidParentOrAncestor.tag;
432-
var addendum = getCurrentFiberStackAddendum();
431+
const ancestorTag = invalidParentOrAncestor.tag;
432+
const addendum = getCurrentFiberStackAddendum();
433433

434-
var warnKey =
434+
const warnKey =
435435
!!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + addendum;
436436
if (didWarn[warnKey]) {
437437
return;
438438
}
439439
didWarn[warnKey] = true;
440440

441-
var tagDisplayName = childTag;
442-
var whitespaceInfo = '';
441+
let tagDisplayName = childTag;
442+
let whitespaceInfo = '';
443443
if (childTag === '#text') {
444444
if (/\S/.test(childText)) {
445445
tagDisplayName = 'Text nodes';
@@ -454,7 +454,7 @@ if (__DEV__) {
454454
}
455455

456456
if (invalidParent) {
457-
var info = '';
457+
let info = '';
458458
if (ancestorTag === 'table' && childTag === 'tr') {
459459
info +=
460460
' Add a <tbody> to your code to match the DOM tree generated by ' +
@@ -487,8 +487,8 @@ if (__DEV__) {
487487
// For testing
488488
validateDOMNesting.isTagValidInContext = function(tag, ancestorInfo) {
489489
ancestorInfo = ancestorInfo || emptyAncestorInfo;
490-
var parentInfo = ancestorInfo.current;
491-
var parentTag = parentInfo && parentInfo.tag;
490+
const parentInfo = ancestorInfo.current;
491+
const parentTag = parentInfo && parentInfo.tag;
492492
return (
493493
isTagValidWithParent(tag, parentTag) &&
494494
!findInvalidAncestorForTag(tag, ancestorInfo)

0 commit comments

Comments
 (0)