The library for web and native user interfaces.
.reactRoot[base10] -> .r[base36]
Just a bit of byte savings for server rendering. Props to @benjamn for the base36 idea (and for making this diff easy). With a little work we could probably get rid of the .r as well.
CommitSyncScript committed
Jun 28, 2013 at 13:46 UTC
8bc2abd367232eca66e4d38ff63b335c8cf23c45
5 files changed
+21
-21
src/core/ReactInstanceHandles.js
+2
-2
@@ -48,7 +48,7 @@ var GLOBAL_MOUNT_POINT_MAX = 9999999;
48
* @internal
49
*/
50
function getReactRootIDString(index) {
51
- return '.reactRoot[' + index + ']';
51
+ return SEPARATOR + 'r[' + index.toString(36) + ']';
52
}
53
54
/**
@@ -316,7 +316,7 @@ var ReactInstanceHandles = {
316
* @internal
317
*/
318
getReactRootIDFromNodeID: function(id) {
319
- var regexResult = /\.reactRoot\[[^\]]+\]/.exec(id);
319
+ var regexResult = /\.r\[[^\]]+\]/.exec(id);
320
return regexResult && regexResult[0];
321
},
322
src/core/ReactMount.js
+1
-1
@@ -56,7 +56,7 @@ function getReactRootID(container) {
56
* ReactMount.renderComponent(component, $('container'));
57
*
58
* <div id="container"> <-- Supplied `container`.
59
- * <div data-reactid=".reactRoot[3]"> <-- Rendered reactRoot of React
59
+ * <div data-reactid=".r[3]"> <-- Rendered reactRoot of React
60
* // ... component.
61
* </div>
62
* </div>
src/core/__tests__/ReactIdentity-test.js
+13
-13
@@ -34,7 +34,7 @@ describe('ReactIdentity', function() {
34
ReactID = require('ReactID');
35
});
36
37
- var idExp = /^\.reactRoot\[\d+\](.*)$/;
37
+ var idExp = /^\.r\[.+?\](.*)$/;
38
function checkId(child, expectedId) {
39
var actual = idExp.exec(ReactID.getID(child));
40
var expected = idExp.exec(expectedId);
@@ -55,8 +55,8 @@ describe('ReactIdentity', function() {
55
React.renderComponent(instance, document.createElement('div'));
56
var node = instance.getDOMNode();
57
reactComponentExpect(instance).toBeDOMComponentWithChildCount(2);
58
- checkId(node.childNodes[0], '.reactRoot[0].[0]{first}');
59
- checkId(node.childNodes[1], '.reactRoot[0].[0]{second}');
58
+ checkId(node.childNodes[0], '.r[0].[0]{first}');
59
+ checkId(node.childNodes[1], '.r[0].[0]{second}');
60
});
61
62
it('should allow key property to express identity', function() {
@@ -71,10 +71,10 @@ describe('ReactIdentity', function() {
71
React.renderComponent(instance, document.createElement('div'));
72
var node = instance.getDOMNode();
73
reactComponentExpect(instance).toBeDOMComponentWithChildCount(4);
74
- checkId(node.childNodes[0], '.reactRoot[0].[0:apple]');
75
- checkId(node.childNodes[1], '.reactRoot[0].[0:banana]');
76
- checkId(node.childNodes[2], '.reactRoot[0].[0:0]');
77
- checkId(node.childNodes[3], '.reactRoot[0].[0:123]');
74
+ checkId(node.childNodes[0], '.r[0].[0:apple]');
75
+ checkId(node.childNodes[1], '.r[0].[0:banana]');
76
+ checkId(node.childNodes[2], '.r[0].[0:0]');
77
+ checkId(node.childNodes[3], '.r[0].[0:123]');
78
});
79
80
it('should use instance identity', function() {
@@ -95,15 +95,15 @@ describe('ReactIdentity', function() {
95
React.renderComponent(instance, document.createElement('div'));
96
var node = instance.getDOMNode();
97
reactComponentExpect(instance).toBeDOMComponentWithChildCount(3);
98
- checkId(node.childNodes[0], '.reactRoot[0].[0:wrap1]');
98
+ checkId(node.childNodes[0], '.r[0].[0:wrap1]');
99
checkId(
100
node.childNodes[0].firstChild,
101
- '.reactRoot[0].[0:wrap1].[0:squirrel]'
101
+ '.r[0].[0:wrap1].[0:squirrel]'
102
);
103
- checkId(node.childNodes[1], '.reactRoot[0].[0:wrap2]');
104
- checkId(node.childNodes[1].firstChild, '.reactRoot[0].[0:wrap2].[0:bunny]');
105
- checkId(node.childNodes[2], '.reactRoot[0].[0:2]');
106
- checkId(node.childNodes[2].firstChild, '.reactRoot[0].[0:2].[0:chipmunk]');
103
+ checkId(node.childNodes[1], '.r[0].[0:wrap2]');
104
+ checkId(node.childNodes[1].firstChild, '.r[0].[0:wrap2].[0:bunny]');
105
+ checkId(node.childNodes[2], '.r[0].[0:2]');
106
+ checkId(node.childNodes[2].firstChild, '.r[0].[0:2].[0:chipmunk]');
107
});
108
109
it('should let restructured components retain their uniqueness', function() {
src/core/__tests__/ReactInstanceHandles-test.js
+2
-2
@@ -149,8 +149,8 @@ describe('ReactInstanceHandles', function() {
149
150
describe('getReactRootIDFromNodeID', function() {
151
it('should support strings', function() {
152
- var test = '.reactRoot[s_0_1][0]..[1]';
153
- var expected = '.reactRoot[s_0_1]';
152
+ var test = '.r[s_0_1][0]..[1]';
153
+ var expected = '.r[s_0_1]';
154
var actual = ReactInstanceHandles.getReactRootIDFromNodeID(test);
155
expect(actual).toEqual(expected);
156
});
src/eventPlugins/__tests__/ResponderEventPlugin-test.js
+3
-3
@@ -25,9 +25,9 @@ var ReactInstanceHandles;
25
var ResponderEventPlugin;
26
var SyntheticEvent;
27
28
-var GRANDPARENT_ID = '.reactRoot[0]';
29
-var PARENT_ID = '.reactRoot[0].0';
30
-var CHILD_ID = '.reactRoot[0].0.0';
28
+var GRANDPARENT_ID = '.r[0]';
29
+var PARENT_ID = '.r[0].0';
30
+var CHILD_ID = '.r[0].0.0';
31
32
var topLevelTypes;
33
var responderEventTypes;