2022-06-28 12:47:01 +02:00
# Lucide React Native
Implementation of the lucide icon library for React Native applications
## Installation
First, ensure that you have `react-native-svg@^12.0.0` installed. Then, install the package:
2023-06-12 22:10:15 +02:00
::: code-group
```sh [pnpm]
pnpm install lucide-react-native
2022-10-27 08:19:45 +02:00
```
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
```sh [yarn]
yarn add lucide-react-native
```
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
```sh [npm]
2022-06-28 12:47:01 +02:00
npm install lucide-react-native
```
2023-06-12 22:10:15 +02:00
:::
2022-06-28 12:47:01 +02:00
## How to use
2023-06-12 22:10:15 +02:00
Each icon can be imported as a React component.
2022-06-28 12:47:01 +02:00
### Example
2023-06-12 22:10:15 +02:00
Additional props can be passed to adjust the icon:
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
```jsx
2022-06-28 12:47:01 +02:00
import { Camera } from 'lucide-react-native';
// Usage
const App = () => {
return <Camera color="red" size={48} />;
};
export default App;
```
2023-06-12 22:10:15 +02:00
## Props
2022-06-28 12:47:01 +02:00
2023-04-20 16:08:34 +02:00
| name | type | default |
| --------------------- | --------- | ------------ |
| `size` | * number * | 24 |
| `color` | * string * | currentColor |
| `strokeWidth` | * number * | 2 |
| `absoluteStrokeWidth` | * boolean * | false |
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
### Applying props
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
To apply custom props to change the look of the icon, this can be done by simply pass them as props to the component.
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
```jsx
2022-06-28 12:47:01 +02:00
// Usage
const App = () => {
return <Camera fill="red" />;
};
```
2023-06-12 22:10:15 +02:00
## One generic icon component
2022-06-28 12:47:01 +02:00
It is possible to create one generic icon component to load icons.
2023-06-12 22:10:15 +02:00
::: warning
Example below importing all ES Modules, caution using this example. All icons will be imported. When using bundlers like: `Webpack` , `Rollup` or `Vite` the application build size will grow strongly and harming the performance the application.
:::
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
### Icon Component Example
2022-06-28 12:47:01 +02:00
2023-06-12 22:10:15 +02:00
```jsx
import { icons } from 'lucide-react';
2022-06-28 12:47:01 +02:00
const Icon = ({ name, color, size }) => {
const LucideIcon = icons[name];
return <LucideIcon color={color} size={size} />;
};
export default Icon;
```
2023-06-12 22:10:15 +02:00
#### Using the Icon Component
```jsx
import Icon from './Icon';
const App = () => {
return <Icon name="home" />;
};
export default App;
```