Changing the color of an SVG in React
Changing the color of an SVG in React:
-
fill
Don't set the and attributes on SVGstroke
. - Import the SVG as a component.
-
Set fill and stroke props on the component,
<MyLogo fill="black" stroke="yellow" />
e.g.
import {ReactComponent as MyLogo} from './my-logo.svg';
export default function App() {
return (
<div>
<MyLogo fill="black" stroke="yellow" />
</div>
);
}
Below is an example of svg.
<svg width="400" height="400">
<circle cx="100" cy="100" r="50" stroke-width="5" />
</svg>
Note that we did not set the and attributes on the svg element .fill
stroke
fill
If and have not been defined in the svg stroke
, they will only be applied if set via component properties.
fill
The property sets the color of the interior of an object, while**stroke
the ** property sets the color of the line around the object.
Alternatively, we can paste the SVG into the component and pass the color as an attribute
function MyLogo({fill, stroke}) {
// 👇️ Paste the SVG into the component
// Fill and stroke colors as attributes
return (
<svg fill={fill} stroke={stroke} width="400" height="400">
<circle cx="100" cy="100" r="50" stroke-width="5" />
</svg>
);
}
export default function App() {
return (
<div>
<MyLogo fill="black" stroke="yellow" />
</div>
);
}
The code example above achieves the same result, but we store the SVG directly in the component instead of importing it from a file with the svg extension.
Notice that the MyLogo component takes fill
the and stroke
values as attributes and applies them to the svg element.
If we didn't have a loader that could import SVG as a component, this should be our preferred method.
For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.
Related Articles
How to reverse an array in React
Publish Date:2025/03/13 Views:198 Category:React
-
在 React 中反转数组:使用扩展语法 `(...)` 创建数组的浅表副本。在副本上调用 `reverse()` 方法。将结果存储在变量中。
Setting data attributes in React
Publish Date:2025/03/13 Views:84 Category:React
-
要在 React 中为元素设置 data 属性,请直接在元素上设置属性,例如 或使用 setAttribute() 方法,例如 el.setAttribute('data-foo', 'bar')。 我们可以访问事件对象上的元素或
Toggle a class on click in React
Publish Date:2025/03/13 Views:153 Category:React
-
要在 React 中单击时切换类:在元素上设置 onClick 属性。将活动状态存储在状态变量中。使用三元运算符有条件地添加类。
Sorting an array of objects in React
Publish Date:2025/03/13 Views:77 Category:React
-
在 React 中对对象数组进行排序: 创建数组的浅拷贝。 调用数组的 `sort()` 方法,传递给它一个函数。 该函数用于定义排序顺序。
Generate a random number in React
Publish Date:2025/03/13 Views:189 Category:React
-
使用 Math.random() 函数在 React 中生成一个随机数,例如 Math.floor(Math.random() * (max - min + 1)) + min。 Math.random 函数返回 0 到小于 1 范围内的数字,但也可用于生成特定范围内的数字。
Open links in new tabs with React
Publish Date:2025/03/13 Views:76 Category:React
-
要在 React 的新选项卡中打开链接,请使用 a 元素并将其 `target` 属性设置为 _blank,例如 。 _blank 值表示资源已加载到新选
How to set target=_blank in React
Publish Date:2025/03/13 Views:199 Category:React
-
要在 React 中将元素的目标属性设置为 _blank,请使用锚元素并设置 rel 属性,例如 。 _blank 值表示资源已加载到新选项卡中。
Showing hover elements in React
Publish Date:2025/03/13 Views:177 Category:React
-
要在 React 中显示悬停元素:在元素上设置 `onMouseOver` 和 `onMouseOut` 属性。 跟踪用户是否将鼠标悬停在状态变量中的元素上。 根据状态变量有条件地渲染其他元素。
Passing components as props in React
Publish Date:2025/03/13 Views:164 Category:React
-
我们可以使用内置的 children 属性在 React 中将组件作为属性 props 传递。 我们在组件的开始标签和结束标签之间传递的所有元素都会分配给 children 属性。