Deprecate replaceProps
This isn't supported on plain JS classes anyway, so this is just adding a warning in DEV before the code throws.
Paul O’Shannessy committed
Mar 10, 2015 at 10:44 UTC
9d58e9a27b5b8a385d605ada95772bc19421f491
4 files changed
+16
-3
src/modern/class/ReactComponent.js
+1
@@ -100,6 +100,7 @@ if (__DEV__) {
100
var deprecatedAPIs = {
101
getDOMNode: 'getDOMNode',
102
isMounted: 'isMounted',
103
+ replaceProps: 'replaceProps',
104
replaceState: 'replaceState',
105
setProps: 'setProps'
106
};
src/modern/class/__tests__/ReactCoffeeScriptClass-test.coffee
+5
-1
@@ -318,7 +318,8 @@ describe 'ReactCoffeeScriptClass', ->
318
expect(-> instance.replaceState {}).toThrow()
319
expect(-> instance.isMounted()).toThrow()
320
expect(-> instance.setProps name: 'bar').toThrow()
321
- expect(console.warn.calls.length).toBe 4
321
+ expect(-> instance.replaceProps name: 'bar').toThrow()
322
+ expect(console.warn.calls.length).toBe 5
323
expect(console.warn.calls[0].args[0]).toContain(
324
'getDOMNode(...) is deprecated in plain JavaScript React classes'
325
)
@@ -331,6 +332,9 @@ describe 'ReactCoffeeScriptClass', ->
332
expect(console.warn.calls[3].args[0]).toContain(
333
'setProps(...) is deprecated in plain JavaScript React classes'
334
)
335
+ expect(console.warn.calls[4].args[0]).toContain(
336
+ 'replaceProps(...) is deprecated in plain JavaScript React classes'
337
+ )
338
339
it 'supports this.context passed via getChildContext', ->
340
class Bar
src/modern/class/__tests__/ReactES6Class-test.js
+5
-1
@@ -354,7 +354,8 @@ describe('ReactES6Class', function() {
354
expect(() => instance.replaceState({})).toThrow();
355
expect(() => instance.isMounted()).toThrow();
356
expect(() => instance.setProps({name: 'bar'})).toThrow();
357
- expect(console.warn.calls.length).toBe(4);
357
+ expect(() => instance.replaceProps({name: 'bar'})).toThrow();
358
+ expect(console.warn.calls.length).toBe(5);
359
expect(console.warn.calls[0].args[0]).toContain(
360
'getDOMNode(...) is deprecated in plain JavaScript React classes'
361
);
@@ -367,6 +368,9 @@ describe('ReactES6Class', function() {
368
expect(console.warn.calls[3].args[0]).toContain(
369
'setProps(...) is deprecated in plain JavaScript React classes'
370
);
371
+ expect(console.warn.calls[4].args[0]).toContain(
372
+ 'replaceProps(...) is deprecated in plain JavaScript React classes'
373
+ );
374
});
375
376
it('supports this.context passed via getChildContext', function() {
src/modern/class/__tests__/ReactTypeScriptClass-test.ts
+5
-1
@@ -451,7 +451,8 @@ describe('ReactTypeScriptClass', function() {
451
expect(() => instance.replaceState({})).toThrow();
452
expect(() => instance.isMounted()).toThrow();
453
expect(() => instance.setProps({ name: 'bar' })).toThrow();
454
- expect(warn.mock.calls.length).toBe(4);
454
+ expect(() => instance.replaceProps({ name: 'bar' })).toThrow();
455
+ expect(warn.mock.calls.length).toBe(5);
456
expect(warn.mock.calls[0][0]).toContain(
457
'getDOMNode(...) is deprecated in plain JavaScript React classes'
458
);
@@ -464,6 +465,9 @@ describe('ReactTypeScriptClass', function() {
465
expect(warn.mock.calls[3][0]).toContain(
466
'setProps(...) is deprecated in plain JavaScript React classes'
467
);
468
+ expect(warn.mock.calls[4][0]).toContain(
469
+ 'replaceProps(...) is deprecated in plain JavaScript React classes'
470
+ );
471
});
472
473
it('supports this.context passed via getChildContext', function() {