react js - use svg linear gradient not working
For others coming here later, style={{fill:'url(#linear-gradient)'}}
is unnecessary for just one or a mere few styles. Instead, simplify to fill="url(#linear-gradient)"
. The same applies to other common SVG styling like stroke="url()"
.
In react the attributes form of linear gradient are a bit different and supposed to be like this:
<linearGradient
id="linear-gradient"
gradientUnits="userSpaceOnUse"
x1="1041.6901"
y1="169.485"
x2="1383.9301"
y2="169.485"
gradientTransform="matrix(1 0 0 -1 -761.14 398.97)"
>
<stop offset="14%" stopColor="#2f343b" stopOpacity="0%" />
<stop offset="43%" stopColor="#337082" stopOpacity="41%" />
<stop offset="67%" stopColor="#369fb9" stopOpacity="73%" />
<stop offset="79%" stopColor="#37b1cf" stopOpacity="85%" />
</linearGradient>
It mean that the syntax should be from stop-color
=> stopColor
offset should be in percentage
ReactJs + svg