* @param {object} component * @param {?object} props
(component, props)
| 6465 | * @param {?object} props |
| 6466 | */ |
| 6467 | function assertValidProps(component, props) { |
| 6468 | if (!props) { |
| 6469 | return; |
| 6470 | } |
| 6471 | // Note the use of `==` which checks for null or undefined. |
| 6472 | if (voidElementTags[component._tag]) { |
| 6473 | !(props.children == null && props.dangerouslySetInnerHTML == null) ? "development" !== 'production' ? invariant(false, '%s is a void element tag and must not have `children` or ' + 'use `props.dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : invariant(false) : void 0; |
| 6474 | } |
| 6475 | if (props.dangerouslySetInnerHTML != null) { |
| 6476 | !(props.children == null) ? "development" !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : invariant(false) : void 0; |
| 6477 | !(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML) ? "development" !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. ' + 'Please visit https://fb.me/react-invariant-dangerously-set-inner-html ' + 'for more information.') : invariant(false) : void 0; |
| 6478 | } |
| 6479 | if ("development" !== 'production') { |
| 6480 | "development" !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0; |
| 6481 | "development" !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0; |
| 6482 | "development" !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0; |
| 6483 | } |
| 6484 | !(props.style == null || typeof props.style === 'object') ? "development" !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, ' + 'not a string. For example, style={{marginRight: spacing + \'em\'}} when ' + 'using JSX.%s', getDeclarationErrorAddendum(component)) : invariant(false) : void 0; |
| 6485 | } |
| 6486 | |
| 6487 | function enqueuePutListener(inst, registrationName, listener, transaction) { |
| 6488 | if ("development" !== 'production') { |
no test coverage detected
searching dependent graphs…