Skip to content

Commit f619d51

Browse files
committed
More fixes for issues introduced by rebasing
**what is the change?:** - Remove some outdated 'require' statements that got orphaned in 'React.js' - Change 'warning' to 'lowPriorityWarning' for 'React.createClass' - Fix syntax issues in 'React-test' - Use 'creatReactClass' instead of ES6 class in ReactART **why make this change?:** These were bugs introduced by rebasing and tests caught the regressions. **test plan:** `yarn test` **issue:** #9398
1 parent a4cc843 commit f619d51

File tree

3 files changed

+22
-20
lines changed

3 files changed

+22
-20
lines changed

src/isomorphic/React.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,13 @@
1313

1414
var ReactBaseClasses = require('ReactBaseClasses');
1515
var ReactChildren = require('ReactChildren');
16-
var ReactComponent = require('ReactComponent');
17-
var ReactPureComponent = require('ReactPureComponent');
1816
var ReactDOMFactories = require('ReactDOMFactories');
1917
var ReactElement = require('ReactElement');
2018
var ReactPropTypes = require('ReactPropTypes');
2119
var ReactVersion = require('ReactVersion');
2220

2321
var createReactClass = require('createClass');
2422
var onlyChild = require('onlyChild');
25-
var warning = require('warning');
2623

2724
var createElement = ReactElement.createElement;
2825
var createFactory = ReactElement.createFactory;
@@ -112,7 +109,7 @@ if (__DEV__) {
112109

113110
Object.defineProperty(React, 'createClass', {
114111
get: function() {
115-
warning(
112+
lowPriorityWarning(
116113
warnedForCreateClass,
117114
'React.createClass is no longer supported. Use a plain JavaScript ' +
118115
"class instead. If you're not yet ready to migrate, " +

src/isomorphic/__tests__/React-test.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,12 @@ describe('React', () => {
3939
});
4040

4141
it('should warn once when attempting to access React.createClass', () => {
42-
spyOn(console, 'error');
42+
spyOn(console, 'warn');
4343
let createClass = React.createClass;
4444
createClass = React.createClass;
4545
expect(createClass).not.toBe(undefined);
46-
expectDev(console.error.calls.count()).toBe(1);
47-
expectDev(console.error.calls.argsFor(0)[0]).toContain(
46+
expect(console.warn.calls.count()).toBe(1);
47+
expect(console.warn.calls.argsFor(0)[0]).toContain(
4848
'React.createClass is no longer supported. Use a plain ' +
4949
"JavaScript class instead. If you're not yet ready to migrate, " +
5050
'create-react-class is available on npm as a temporary, ' +
@@ -53,12 +53,12 @@ describe('React', () => {
5353
});
5454

5555
it('should warn once when attempting to access React.PropTypes', () => {
56-
spyOn(console, 'error');
56+
spyOn(console, 'warn');
5757
let PropTypes = React.PropTypes;
5858
PropTypes = React.PropTypes;
5959
expect(PropTypes).not.toBe(undefined);
60-
expectDev(console.error.calls.count()).toBe(1);
61-
expectDev(console.error.calls.argsFor(0)[0]).toContain(
60+
expect(console.warn.calls.count()).toBe(1);
61+
expect(console.warn.calls.argsFor(0)[0]).toContain(
6262
'PropTypes have moved out of the react package. ' +
6363
'Use the prop-types package from npm instead.',
6464
);

src/renderers/art/ReactART.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const ReactInstanceMap = require('ReactInstanceMap');
2424
const ReactMultiChild = require('ReactMultiChild');
2525
const ReactUpdates = require('ReactUpdates');
2626

27+
const createReactClass = require('createClass');
2728
const emptyObject = require('emptyObject');
2829
const invariant = require('invariant');
2930

@@ -171,8 +172,12 @@ const ContainerMixin = assign({}, ReactMultiChild.Mixin, {
171172
// Surface is a React DOM Component, not an ART component. It serves as the
172173
// entry point into the ART reconciler.
173174

174-
class Surface extends React.Component {
175-
componentDidMount() {
175+
const Surface = createReactClass({
176+
displayName: 'Surface',
177+
178+
mixins: [ContainerMixin],
179+
180+
componentDidMount: function() {
176181
const domNode = ReactDOM.findDOMNode(this);
177182

178183
this.node = Mode.Surface(+this.props.width, +this.props.height, domNode);
@@ -186,9 +191,9 @@ class Surface extends React.Component {
186191
ReactInstanceMap.get(this)._context,
187192
);
188193
ReactUpdates.ReactReconcileTransaction.release(transaction);
189-
}
194+
},
190195

191-
componentDidUpdate(oldProps) {
196+
componentDidUpdate: function(oldProps) {
192197
const node = this.node;
193198
if (
194199
this.props.width != oldProps.width ||
@@ -210,13 +215,13 @@ class Surface extends React.Component {
210215
if (node.render) {
211216
node.render();
212217
}
213-
}
218+
},
214219

215-
componentWillUnmount() {
220+
componentWillUnmount: function() {
216221
this.unmountChildren();
217-
}
222+
},
218223

219-
render() {
224+
render: function() {
220225
// This is going to be a placeholder because we don't know what it will
221226
// actually resolve to because ART may render canvas, vml or svg tags here.
222227
// We only allow a subset of properties since others might conflict with
@@ -234,8 +239,8 @@ class Surface extends React.Component {
234239
title={props.title}
235240
/>
236241
);
237-
}
238-
}
242+
},
243+
});
239244

240245
// Various nodes that can go into a surface
241246

0 commit comments

Comments
 (0)