2
私はReactでFontawesome 5のプロライセンスを使用しており、divテーブルのヘッダーセルの行ヘッダコンポーネントを作成しました。セルには、ソートアイコン用のFontawesome生成されたsvgがあります。私はSVGを再レンダリングすることはできません。React fontawesome 5 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アイコンを再レンダリングさせるにはどうすればよいですか?
@ fortawesome/fontawesomeフリー-固体と私はhttps://www.npmjs.com/package/@fortawesome/react-fontawesomeでNPMパッケージを使用しています周り。これは実線のアイコンで動作しますが、私はプロライセンスに含まれているライトアイコンを使用したいと考えています。私は上記のコードで両方を使用しています。 – Gremash
さて、私は嘘をついた。それだけの作品です。 SVGアイコンは最初に切り替えられますが、その後は再レンダリングされません... – Gremash