#react-native #expo #react-native-vector-icons
#react-native #expo #react-native-vector-icons
Вопрос:
Итак, это в основном код, который у меня есть
import { Ionicons } from '@expo/vector-icons';
class DrawerItem extends React.Component {
render() {
return (
<Ionicons name="speedometer" size={14} color="green" />
)
}
}
Я пытаюсь использовать значок с именем speedometer
, как указано в документации Ionicons.
Однако на его месте появляется знак вопроса ?
, и я получаю следующую ошибку:
Warning: Failed prop type: Invalid prop `name` of value `speedometer` supplied to `Icon`, expected one of ["ios-add","ios-add-circle","ios-add-circle-outline","ios-airplane","ios-alarm","ios-albums","ios-alert","ios-american-football","ios-analytics","ios-aperture","ios-apps","ios-appstore","ios-archive","ios-arrow-back","ios-arrow-down","ios-arrow-dropdown","ios-arrow-dropdown-circle","ios-arrow-dropleft","ios-arrow-dropleft-circle","ios-arrow-dropright","ios-arrow-dropright-circle"...
Ошибка показывает мне имена, которые я могу использовать, но не имеет смысла, потому что в документации Ionicons упоминается, что есть вызываемый значок speedometer
.
Еще одна вещь, которую я обнаружил, это то, что этот конкретный значок не отображается в документации по векторным значкам Expo.
Тем не менее, я хотел бы добавить его. Есть ли способ включить ВСЕ значки из библиотеки Ionicons?
Ответ №1:
Вы должны импортировать значки таким образом:
import { MaterialCommunityIcons } from '@expo/vector-icons';
<MaterialCommunityIcons name="speedometer" size={24} color="black" />
Ответ №2:
Как вы заявили Ionicons
, не содержит speedometer
значка. Вместо этого используйте ios-speedometer
.
Если вам действительно нужен этот конкретный значок, я бы рекомендовал загрузить SVG и преобразовать его в отдельный компонент, используя, например, react-svgr (или любой другой инструмент svg jsx)
Не забудьте установить react-native-svg 🙂 Теперь вы можете импортировать значок с помощью обычного импорта.
Например. import SpeedometerIcon from './icons/Speedometer.js'