MCPcopy Create free account
hub / github.com/krasimir/react-in-patterns / checkClassInstance

Function checkClassInstance

code/one-direction-data-flow/public/app.js:8172–8224  ·  view source on GitHub ↗
(workInProgress)

Source from the content-addressed store, hash-verified

8170 }
8171
8172 function checkClassInstance(workInProgress) {
8173 var instance = workInProgress.stateNode;
8174 var type = workInProgress.type;
8175 {
8176 var name = getComponentName(workInProgress) || 'Component';
8177 var renderPresent = instance.render;
8178
8179 if (!renderPresent) {
8180 if (type.prototype && typeof type.prototype.render === 'function') {
8181 warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);
8182 } else {
8183 warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);
8184 }
8185 }
8186
8187 var noGetInitialStateOnES6 = !instance.getInitialState || instance.getInitialState.isReactClassApproved || instance.state;
8188 warning(noGetInitialStateOnES6, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);
8189 var noGetDefaultPropsOnES6 = !instance.getDefaultProps || instance.getDefaultProps.isReactClassApproved;
8190 warning(noGetDefaultPropsOnES6, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);
8191 var noInstancePropTypes = !instance.propTypes;
8192 warning(noInstancePropTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);
8193 var noInstanceContextTypes = !instance.contextTypes;
8194 warning(noInstanceContextTypes, 'contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);
8195 var noComponentShouldUpdate = typeof instance.componentShouldUpdate !== 'function';
8196 warning(noComponentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);
8197 if (type.prototype && type.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {
8198 warning(false, '%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(workInProgress) || 'A pure component');
8199 }
8200 var noComponentDidUnmount = typeof instance.componentDidUnmount !== 'function';
8201 warning(noComponentDidUnmount, '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);
8202 var noComponentDidReceiveProps = typeof instance.componentDidReceiveProps !== 'function';
8203 warning(noComponentDidReceiveProps, '%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);
8204 var noComponentWillRecieveProps = typeof instance.componentWillRecieveProps !== 'function';
8205 warning(noComponentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);
8206 var noUnsafeComponentWillRecieveProps = typeof instance.UNSAFE_componentWillRecieveProps !== 'function';
8207 warning(noUnsafeComponentWillRecieveProps, '%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);
8208 var hasMutatedProps = instance.props !== workInProgress.pendingProps;
8209 warning(instance.props === undefined || !hasMutatedProps, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name);
8210 var noInstanceDefaultProps = !instance.defaultProps;
8211 warning(noInstanceDefaultProps, 'Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);
8212 var noInstanceGetDerivedStateFromProps = typeof instance.getDerivedStateFromProps !== 'function';
8213 warning(noInstanceGetDerivedStateFromProps, '%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
8214 var noInstanceGetDerivedStateFromCatch = typeof instance.getDerivedStateFromCatch !== 'function';
8215 warning(noInstanceGetDerivedStateFromCatch, '%s: getDerivedStateFromCatch() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);
8216 var _state = instance.state;
8217 if (_state && (typeof _state !== 'object' || isArray(_state))) {
8218 warning(false, '%s.state: must be set to an object or null', name);
8219 }
8220 if (typeof instance.getChildContext === 'function') {
8221 warning(typeof type.childContextTypes === 'object', '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);
8222 }
8223 }
8224 }
8225
8226 function resetInputPointers(workInProgress, instance) {
8227 instance.props = workInProgress.memoizedProps;

Callers 1

mountClassInstanceFunction · 0.70

Calls 2

warningFunction · 0.85
getComponentNameFunction · 0.70

Tested by

no test coverage detected