gpt4 book ai didi

reactjs - React fontawesome 5 SVG 不重新渲染

转载 作者:行者123 更新时间:2023-12-03 13:29:16 28 4
gpt4 key购买 nike

我正在使用带有 React 的 Fontawesome 5 专业许可证,并且我已经为 div 表中的标题单元格创建了一个行标题组件。该单元格具有 Fontawesome 为排序图标生成的 svgs。我无法重新渲染 SVG。

这是我的代码:

export const row = (value, className, clickHandler) => (
<div className={`align-self-center text-center ${className ? className : ''}`} onClick={clickHandler}>
{value}
</div>
);

export const rowHeader = (value, className, sort, clickHandler) => {
let iconClass;
switch (sort) {
case 'asc':
iconClass = 'fas fa-sort-up';
break;
case 'desc':
iconClass = 'fas fa-sort-down';
break;
default:
iconClass = 'fal fa-sort';
break;
}

return row(<span>{value} {iconClass} <i className={iconClass + ' float-right'}/></span>, className + ' clickable', clickHandler);
};

我尝试创建 <i .../>作为一个单独的组件,但那不起作用。图标第一次正确渲染,iconClass我的牢房里正在发生变化。但是,SVG 元素不会被重新渲染。

当父元素重新渲染时,如何强制 Fontawesome 生成的 SVG 图标重新渲染?

最佳答案

我的解决方案是将 key={Math.random()} 添加到 SVG 的包含元素中。然后,当它获得新的 props 时,它会强制刷新。

关于reactjs - React fontawesome 5 SVG 不重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47722813/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com