Fix obscure error message when passing an invalid style value for SSR (#11173)
* Add failing iframe test * Possible fix by returning null ownerName in SSR * prettier * eslolint * gah c’mon really? * emptyFunction.thatReturnsNull * One less property access
This commit is contained in:
parent
45c05c7097
commit
9b4e4e1759
|
@ -358,6 +358,15 @@ describe('ReactDOMServer', () => {
|
|||
'Objects are not valid as a React child (found: object with keys {x})',
|
||||
);
|
||||
});
|
||||
|
||||
it('should throw prop mapping error for an <iframe /> with invalid props', () => {
|
||||
expect(() =>
|
||||
ReactDOMServer.renderToString(<iframe style="border:none;" />),
|
||||
).toThrowError(
|
||||
'The `style` prop expects a mapping from style properties to values, not ' +
|
||||
"a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.",
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('renderToStaticMarkup', () => {
|
||||
|
|
|
@ -20,6 +20,7 @@ var ReactControlledValuePropTypes = require('ReactControlledValuePropTypes');
|
|||
|
||||
var assertValidProps = require('assertValidProps');
|
||||
var dangerousStyleValue = require('dangerousStyleValue');
|
||||
var emptyFunction = require('fbjs/lib/emptyFunction');
|
||||
var emptyObject = require('fbjs/lib/emptyObject');
|
||||
var escapeTextContentForBrowser = require('escapeTextContentForBrowser');
|
||||
var hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');
|
||||
|
@ -29,6 +30,7 @@ var omittedCloseTags = require('omittedCloseTags');
|
|||
var isCustomComponent = require('isCustomComponent');
|
||||
|
||||
var toArray = React.Children.toArray;
|
||||
var emptyFunctionThatReturnsNull = emptyFunction.thatReturnsNull;
|
||||
|
||||
if (__DEV__) {
|
||||
var warning = require('fbjs/lib/warning');
|
||||
|
@ -780,7 +782,7 @@ class ReactDOMServerRenderer {
|
|||
validatePropertiesInDevelopment(tag, props);
|
||||
}
|
||||
|
||||
assertValidProps(tag, props);
|
||||
assertValidProps(tag, props, emptyFunctionThatReturnsNull);
|
||||
|
||||
var out = createOpenTagMarkup(
|
||||
element.type,
|
||||
|
|
Loading…
Reference in New Issue