J'essaie d'utiliser react-fontawesome et de le mettre en œuvre dans ce qui me semble être exactement le même que le fichier readme: https://github.com/danawoodman/react-fontawesome/blob/master/readme.md
import React from 'react';
import FontAwesome from 'react-fontawesome'
...
export default class ComponentName extends React.Component {
render() {
return (
<div>
<div>
<span>
<FontAwesome
className='super-crazy-colors'
name='rocket'
size='2x'
spin
style={{ textShadow: '0 1px 0 rgba(0, 0, 0, 0.1)' }}
/>
SOME TEXT
</span>
</div>
...
</div>
)
}
}
Mais je ne vois pas d'icône dans le DOM. Bien que je voie dans les outils de développement Chrome:
<span style="text-shadow:0 1px 0 rgba(0, 0, 0, 0.1);" aria-hidden="true" class="fa fa-rocket fa-2x fa-spin super-crazy-colors" data-reactid=".0.$/=11.0.0.$/=10.$/=10.$/=10"></span>
qui, selon moi, devrait être une balise <i>
. J'ai essayé de changer le <span>...</span>
en un <i>...</i>
dans "modifier en HTML" dans les outils de développement et l'icône ne s'affiche toujours pas.
J'ai des add-module-exports dans mes plugins et stage-2 dans mes presets dans mon webpack.config.
Quelqu'un peut-il me dire s'il me manque quelque chose? Ai-je besoin d'un autre package que react-fontawesome pour que cela fonctionne? Dois-je importer le fichier standard font-awesome.css ou charger un CDN font-awesome? Toute aide serait grandement appréciée, merci!
J'ai eu le même problème. Lisez leur Readme.md , et vous verrez qu’il ya cette note:
Remarque: Ce composant n'inclut aucun des polices CSS et Font Awesome, vous devez donc vous assurer de les inclure d'une manière ou d'une autre, soit en les ajoutant à votre processus de construction, soit en vous connectant à versions CDN .
Le moyen le plus simple consiste donc à créer un lien vers le fichier cdn de fontawesome dans votre code HTML.
<head>
<meta charset="UTF-8">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css" rel="stylesheet" integrity="sha384-
wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN"
crossorigin="anonymous">
</head>
Exécuter npm install font-awesome --save
Dans votre index.js
ou App.js
ou YourComponent.js
, importez le fichier CSS modifié.
import 'font-awesome/css/font-awesome.min.css';
Comme l'a souligné @Alee, les polices Fontaweome ne sont pas incluses dans le package. Vous devrez l'importer vous-même.
Installez le paquet npm font-awesome
. Si vous utilisez npm, exécutez npm install font-awesome --save
ou si vous utilisez du fil, exécutez yarn add font-awesome
Il ne vous reste plus qu'à importer font-awesome.less
sous le répertoire less
en écrivant import 'font-awesome/less/font-awesome.less'
Maintenant, vous devriez voir vos icônes fonctionner :)
Je suppose que vous n'avez pas encore importé le fichier CSS dont FontAwesome a besoin. Téléchargez le fichier CSS simplifié à partir du site Web de FontAwesome et importez-le dans votre fichier app.scss ou à tout autre endroit où vous importez d'autres feuilles de style.
La bibliothèque react-fontawesome vous aide à créer des éléments avec des noms de classe tels que "flèche vers le haut", mais sans la feuille de style, votre projet ne saura pas qu'il existe des icônes correspondant à ces classes.
Le seul exemple dans lequel je travaille qui semble réellement à jour et n'a pas généré d'erreurs "ne peut pas résoudre" réagit ":
https://scotch.io/tutorials/using-font-fien-awesome-5-with-react
import React from "react";
import { render } from "react-dom";
// get our fontawesome imports
import { faHome } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
// create our App
const App = () => (
<div>
<FontAwesomeIcon icon={faHome} />
</div>
);
// render to #root
render(<App />, document.getElementById("root"));