I am working on code refactoring on a React project. It has ponents like this
import * as React from "react";
function SvgPage(props) {
return (
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg> );
}
export default SvgPage;
I am working on code refactoring on a React project. It has ponents like this
import * as React from "react";
function SvgPage(props) {
return (
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
</svg> );
}
export default SvgPage;
These SVG files render without any issue but in the console, it gives me the error
Warning: Invalid DOM property
stroke-width
. Did you meanstrokeWidth
?
How do I get rid of these console warnings? I search google and find SVGR library. But I am not sure how to use it to fix the problem.
any help!
Thanks in advance! =)
Share Improve this question asked Mar 18, 2021 at 6:01 margherita pizzamargherita pizza 7,17529 gold badges102 silver badges178 bronze badges 02 Answers
Reset to default 10From the docs,
Since JSX is closer to JavaScript than to HTML, React DOM uses
camelCase
property naming convention instead of HTML attribute names.For example,
class
beesclassName
in JSX, andtabindex
beestabIndex
.
Replace hyphenated prop names with their camelCase versions.
<circle cx="50" cy="50" r="40" stroke="green" strokeWidth="4" fill="yellow" />
I think this is your error
so you have to change attributes inside the svg tag to use camel case, like
stroke-width="4"
as strokeWidth="4"
and
stroke-linecap=""
as strokeLinecap=""