Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
expo-fontawesome
Advanced tools
React Native component for Font Awesome 5 in managed Expo app
If you have trouble trying react-native-fontawesome with Expo, maybe you should try this. Since managed Expo app have react-native-svg
pre-installed, using react-native-svg
might cause an Error:
Error: tried to register two views with the same name rnsvgrect
This repository rewrites the component with Expo svg components in TypeScript, hopefully solving the problem for you.
$ npm i --save @fortawesome/fontawesome-svg-core
$ npm i --save @fortawesome/free-solid-svg-icons
$ npm i --save expo-fontawesome
or
$ yarn add @fortawesome/fontawesome-svg-core
$ yarn add @fortawesome/free-solid-svg-icons
$ yarn add expo-fontawesome
See more details at react-native-fontawesome
You can use Font Awesome icons in your React Native components as simply as this:
<FontAwesomeIcon icon="coffee" />
import React, {Component} from 'react';
import {View} from 'react-native';
import {FontAwesomeIcon} from 'expo-fontawesome';
import {faCoffee} from '@fortawesome/free-solid-svg-icons';
type Props = {};
export default class App extends Component<Props> {
render() {
return (
<View>
<FontAwesomeIcon icon={faCoffee} />
</View>
);
}
}
Priority: The color prop takes priority over setting color via StyleSheet. So if you end up with both set, the prop wins.
In fact, when provided a style object (suppose you've declared other style properties other
than color
), if the color prop has been specified, then any color property on the style object is removed
before the style object is passed through to the underlying SVG rendering library. This is to avoid ambiguity.
Using the color prop should be preferred over using the StyleSheet.
<FontAwesomeIcon icon={faCoffee} color={'red'} />
To set the color of an icon, provide a StyleSheet
like this:
import React, {Component} from 'react';
import {View, StyleSheet} from 'react-native';
import {FontAwesomeIcon} from 'expo-fontawesome';
import {faCoffee} from '@fortawesome/free-solid-svg-icons';
type Props = {};
const style = StyleSheet.create({
icon: {
color: 'blue',
},
});
export default class App extends Component<Props> {
render() {
return (
<View>
<FontAwesomeIcon icon={faCoffee} style={style.icon} />
</View>
);
}
}
Default: 16
To adjust the size, use the size
prop:
<FontAwesomeIcon icon={faCoffee} size={32} />
Note: the height
and width
props have been deprecated.
<FontAwesomeIcon icon="coffee" mask={['far', 'circle']} />
<FontAwesomeIcon icon="arrows" transform="shrink-6 left-4" />
<FontAwesomeIcon icon="arrow-rightr" transform={{ rotate: 42 }} />
MIT, see the LICENSE file for details.
FAQs
React Native component for Font Awesome 5 in managed Expo app
The npm package expo-fontawesome receives a total of 3 weekly downloads. As such, expo-fontawesome popularity was classified as not popular.
We found that expo-fontawesome demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.