Do you want to request a feature or report a bug?
Bug
What is the current behavior?
I got this warning: Warning: Extra attributes from the server: preserveAspectRatio,viewBox during client side hydratation when my react tree contains mixed case attributes such as these svg ones.
What is the expected behavior?
No warnings because there are no difference between server and client attributes.
Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?
React 16.0.0-rc.2
This worked on 15.*
This seems to happen because the attribute name is put to lowercase here: https://github.com/facebook/react/blob/6552519a211c3e43e3f6cf5b2237c90ae515d423/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L901
but not in the set here:
https://github.com/facebook/react/blob/6552519a211c3e43e3f6cf5b2237c90ae515d423/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L915
As the set removal is done with the lowercased attribute:
https://github.com/facebook/react/blob/6552519a211c3e43e3f6cf5b2237c90ae515d423/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L1011
it stays in the extraAttributeNames set and I got wrongly the previous warning.
Do you want to request a feature or report a bug?
Bug
What is the current behavior?
I got this warning:
Warning: Extra attributes from the server: preserveAspectRatio,viewBoxduring client side hydratation when my react tree contains mixed case attributes such as these svg ones.What is the expected behavior?
No warnings because there are no difference between server and client attributes.
Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?
React 16.0.0-rc.2
This worked on 15.*
This seems to happen because the attribute name is put to lowercase here: https://github.com/facebook/react/blob/6552519a211c3e43e3f6cf5b2237c90ae515d423/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L901
but not in the set here:
https://github.com/facebook/react/blob/6552519a211c3e43e3f6cf5b2237c90ae515d423/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L915
As the set removal is done with the lowercased attribute:
https://github.com/facebook/react/blob/6552519a211c3e43e3f6cf5b2237c90ae515d423/src/renderers/dom/fiber/ReactDOMFiberComponent.js#L1011
it stays in the
extraAttributeNamesset and I got wrongly the previous warning.