Skip to content
This repository was archived by the owner on Sep 28, 2023. It is now read-only.

Commit 5998b06

Browse files
committed
Remove React.findDOMNode()
1 parent e0e07c9 commit 5998b06

File tree

2 files changed

+15
-23
lines changed

2 files changed

+15
-23
lines changed

spec/navigation-controller.spec.jsx

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ describe('NavigationController', () => {
3131
controller = renderIntoDocument(
3232
<NavigationController views={views} />
3333
);
34-
viewWrapper0 = controller['__view-wrapper-0'];
35-
viewWrapper1 = controller['__view-wrapper-1'];
34+
viewWrapper0 = controller.refs['view-wrapper-0'];
35+
viewWrapper1 = controller.refs['view-wrapper-1'];
3636
});
3737
it('exports a component', () => {
3838
let controller = renderIntoDocument(
@@ -95,11 +95,6 @@ describe('NavigationController', () => {
9595
});
9696
});
9797
describe('#componentDidMount', () => {
98-
it('caches the view wrappers', () => {
99-
expect(viewWrapper0).to.be.an.instanceof(HTMLElement);
100-
expect(viewWrapper1).to.be.an.instanceof(HTMLElement);
101-
expect(viewWrapper0).not.to.equal(viewWrapper1);
102-
});
10398
it('transforms the view wrappers', () => {
10499
expect(viewWrapper0).to.have.deep.property(`style.${transformPrefix}`);
105100
expect(viewWrapper1).to.have.deep.property(`style.${transformPrefix}`);
@@ -252,7 +247,7 @@ describe('NavigationController', () => {
252247
controller.__animateViewsComplete();
253248
const [prev,next] = controller.__viewIndexes;
254249
requestAnimationFrame(() => {
255-
expect(controller[`__view-wrapper-${prev}`].style.display).to.equal('none');
250+
expect(controller.refs[`view-wrapper-${prev}`].style.display).to.equal('none');
256251
done();
257252
});
258253
});
@@ -291,16 +286,16 @@ describe('NavigationController', () => {
291286
it('hides the views', (done) => {
292287
controller.__displayViews('none');
293288
requestAnimationFrame(() => {
294-
expect(controller[`__view-wrapper-0`].style.display).to.equal('none');
295-
expect(controller[`__view-wrapper-1`].style.display).to.equal('none');
289+
expect(controller.refs[`view-wrapper-0`].style.display).to.equal('none');
290+
expect(controller.refs[`view-wrapper-1`].style.display).to.equal('none');
296291
done();
297292
});
298293
});
299294
it('shows the views', (done) => {
300295
controller.__displayViews('block');
301296
requestAnimationFrame(() => {
302-
expect(controller[`__view-wrapper-0`].style.display).to.equal('block');
303-
expect(controller[`__view-wrapper-1`].style.display).to.equal('block');
297+
expect(controller.refs[`view-wrapper-0`].style.display).to.equal('block');
298+
expect(controller.refs[`view-wrapper-1`].style.display).to.equal('block');
304299
done();
305300
});
306301
});

src/navigation-controller.jsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,6 @@ class NavigationController extends React.Component {
119119
}
120120

121121
componentDidMount() {
122-
// Cache the view wrappers
123-
this['__view-wrapper-0'] = React.findDOMNode(this.refs[`view-wrapper-0`]);
124-
this['__view-wrapper-1'] = React.findDOMNode(this.refs[`view-wrapper-1`]);
125122
// Position the wrappers
126123
this.__transformViews(0, 0, -100, 0);
127124
// Push the last view
@@ -132,16 +129,16 @@ class NavigationController extends React.Component {
132129

133130
/**
134131
* Translate the view wrappers by a specified percentage
135-
*
132+
*
136133
* @param {number} prevX
137134
* @param {number} prevY
138135
* @param {number} nextX
139136
* @param {number} nextY
140137
*/
141138
__transformViews(prevX, prevY, nextX, nextY) {
142139
const [prev,next] = this.__viewIndexes;
143-
const prevView = this[`__view-wrapper-${prev}`];
144-
const nextView = this[`__view-wrapper-${next}`];
140+
const prevView = this.refs[`view-wrapper-${prev}`];
141+
const nextView = this.refs[`view-wrapper-${next}`];
145142
requestAnimationFrame(() => {
146143
prevView.style[transformPrefix] = `translate3d(${prevX}%,${prevY}%,0px)`;
147144
prevView.style.zIndex = Transition.isReveal(this.state.transition) ? 1 : 0;
@@ -213,7 +210,7 @@ class NavigationController extends React.Component {
213210
this.__isTransitioning = false;
214211
const [prev,next] = this.__viewIndexes;
215212
// Hide the previous view wrapper
216-
const prevViewWrapper = this[`__view-wrapper-${prev}`];
213+
const prevViewWrapper = this.refs[`view-wrapper-${prev}`];
217214
prevViewWrapper.style.display = 'none';
218215
// Did hide view lifecycle event
219216
const prevView = this.refs['view-0'];
@@ -244,8 +241,8 @@ class NavigationController extends React.Component {
244241
* @param {string} value
245242
*/
246243
__displayViews(value) {
247-
this['__view-wrapper-0'].style.display = value;
248-
this['__view-wrapper-1'].style.display = value;
244+
this.refs['view-wrapper-0'].style.display = value;
245+
this.refs['view-wrapper-1'].style.display = value;
249246
}
250247

251248
/**
@@ -310,8 +307,8 @@ class NavigationController extends React.Component {
310307
// Custom transition
311308
if (typeof transition === 'function') {
312309
const [prev,next] = this.__viewIndexes;
313-
const prevView = this[`__view-wrapper-${prev}`];
314-
const nextView = this[`__view-wrapper-${next}`];
310+
const prevView = this.refs[`view-wrapper-${prev}`];
311+
const nextView = this.refs[`view-wrapper-${next}`];
315312
transition(prevView, nextView, () => {
316313
this.__animateViewsComplete();
317314
this.__transitionViewsComplete();

0 commit comments

Comments
 (0)