Deprecate replaceProps

This isn't supported on plain JS classes anyway, so this is just adding
a warning in DEV before the code throws.
This commit is contained in:
Paul O’Shannessy 2015-03-10 10:44:47 -07:00
parent 79a34e80b1
commit 9d58e9a27b
4 changed files with 16 additions and 3 deletions

View File

@ -100,6 +100,7 @@ if (__DEV__) {
var deprecatedAPIs = {
getDOMNode: 'getDOMNode',
isMounted: 'isMounted',
replaceProps: 'replaceProps',
replaceState: 'replaceState',
setProps: 'setProps'
};

View File

@ -318,7 +318,8 @@ describe 'ReactCoffeeScriptClass', ->
expect(-> instance.replaceState {}).toThrow()
expect(-> instance.isMounted()).toThrow()
expect(-> instance.setProps name: 'bar').toThrow()
expect(console.warn.calls.length).toBe 4
expect(-> instance.replaceProps name: 'bar').toThrow()
expect(console.warn.calls.length).toBe 5
expect(console.warn.calls[0].args[0]).toContain(
'getDOMNode(...) is deprecated in plain JavaScript React classes'
)
@ -331,6 +332,9 @@ describe 'ReactCoffeeScriptClass', ->
expect(console.warn.calls[3].args[0]).toContain(
'setProps(...) is deprecated in plain JavaScript React classes'
)
expect(console.warn.calls[4].args[0]).toContain(
'replaceProps(...) is deprecated in plain JavaScript React classes'
)
it 'supports this.context passed via getChildContext', ->
class Bar

View File

@ -354,7 +354,8 @@ describe('ReactES6Class', function() {
expect(() => instance.replaceState({})).toThrow();
expect(() => instance.isMounted()).toThrow();
expect(() => instance.setProps({name: 'bar'})).toThrow();
expect(console.warn.calls.length).toBe(4);
expect(() => instance.replaceProps({name: 'bar'})).toThrow();
expect(console.warn.calls.length).toBe(5);
expect(console.warn.calls[0].args[0]).toContain(
'getDOMNode(...) is deprecated in plain JavaScript React classes'
);
@ -367,6 +368,9 @@ describe('ReactES6Class', function() {
expect(console.warn.calls[3].args[0]).toContain(
'setProps(...) is deprecated in plain JavaScript React classes'
);
expect(console.warn.calls[4].args[0]).toContain(
'replaceProps(...) is deprecated in plain JavaScript React classes'
);
});
it('supports this.context passed via getChildContext', function() {

View File

@ -451,7 +451,8 @@ describe('ReactTypeScriptClass', function() {
expect(() => instance.replaceState({})).toThrow();
expect(() => instance.isMounted()).toThrow();
expect(() => instance.setProps({ name: 'bar' })).toThrow();
expect(warn.mock.calls.length).toBe(4);
expect(() => instance.replaceProps({ name: 'bar' })).toThrow();
expect(warn.mock.calls.length).toBe(5);
expect(warn.mock.calls[0][0]).toContain(
'getDOMNode(...) is deprecated in plain JavaScript React classes'
);
@ -464,6 +465,9 @@ describe('ReactTypeScriptClass', function() {
expect(warn.mock.calls[3][0]).toContain(
'setProps(...) is deprecated in plain JavaScript React classes'
);
expect(warn.mock.calls[4][0]).toContain(
'replaceProps(...) is deprecated in plain JavaScript React classes'
);
});
it('supports this.context passed via getChildContext', function() {