Package Exports
- react-icomoon
- react-icomoon/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-icomoon) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
It makes it very simple to use SVG icons in your React
and React-Native
projects.
Cheatsheet - Interactive Demo
Install
npm install react-icomoon
yarn add react-icomoon
Usage
You can use the icons you selected on IcoMoon by downloading the selection.json
file.
Declare
// Icon.jsx
import IcoMoon from "react-icomoon";
const iconSet = require("./selection.json");
const Icon = (props) => <IcoMoon iconSet={iconSet} {...props} />;
export default Icon;
With TypeScript
// Icon.tsx
import IcoMoon from "react-icomoon";
const iconSet = require("./selection.json");
const Icon: typeof IcoMoon = (props) => (
<IcoMoon iconSet={iconSet} {...props} />
);
export default Icon;
Use
import Icon from "./icon";
<Icon icon="pencil" size={20} color="orange" />;
Props List
Name | Type | Default | Sample |
---|---|---|---|
iconSet | Object | - | "selection.json file content" |
icon | String | - | "home" |
size | Number,String | - | "1em", 10, "100px" |
color | String | - | "red", "#f00", "rgb(0,0,0)" |
style | Object | {...} | { color: '#ff0'} |
title | String | - | "Icon Title" |
className | String | - | "icomoon" |
disableFill | Boolean | - | true |
removeInlineStyle | Boolean | - | true |
Default Style
{
display: "inline-block",
stroke: "currentColor",
fill: "currentColor",
}
iconList
You can use the iconList method to see a complete list of icons you can use.
import IcoMoon, { iconList } from "react-icomoon";
iconList(iconSet);
// sample output
[
"document",
"camera",
"genius",
"chat",
"heart1",
"alarmclock",
"star-full",
"heart",
"play3",
"pause2",
"bin1",
];
React Native 🎉 • Demo
Step 1: Install Dependencies
npm install react-icomoon react-native-svg
yarn add react-icomoon react-native-svg
Step 2: Declare
Additional props for React Native
Name | Type | Default | Sample |
---|---|---|---|
native | Boolean | - | true |
SvgComponent | React.Component | - | SvgComponent |
PathComponent | React.Component | - | PathComponent |
// Icon.jsx
import IcoMoon from "react-icomoon";
import { Svg, Path } from "react-native-svg";
const iconSet = require("./selection.json");
const Icon = (props) => (
<IcoMoon
native
SvgComponent={Svg}
PathComponent={Path}
iconSet={iconSet}
{...props}
/>
);
export default Icon;
Step 3: Use
import Icon from "./icon";
<Icon icon="pencil" size={20} color="orange" />;