Почему не отображаются мои глифоциты с реакционным бутстрапом?
Я использую React Bootstrap Glyphicon
, но ни один из глификонов не появляется. Вот мой код:
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import Global from './components/Global';
ReactDOM.render(
<Global />,
document.getElementById('root')
);
Global.js
import React, { Component } from 'react';
import { FormGroup, FormControl, InputGroup, Glyphicon } from 'react-bootstrap';
class Global extends Component {
render() {
return(
<div>
<h2> Book Explorer!</h2>
<FormGroup>
<InputGroup>
<FormControl
type="text"
placeholder="Search for a book"
/>
<InputGroup.Addon>
<Glyphicon glyph="search"></Glyphicon>
</InputGroup.Addon>
</InputGroup>
</FormGroup>
</div>
)
}
}
export default Global;
Здесь мой файл package.json
:
{
"name": "setup",
"version": "1.0.0",
"babel": {
"presets": [
"es2015",
"react"
]
},
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack",
"start": "webpack-dev-server"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"babel-core": "^6.22.1",
"babel-loader": "^6.2.10",
"babel-polyfill": "^6.22.0",
"babel-preset-es2015": "^6.22.0",
"babel-preset-react": "^6.24.1",
"react": "^15.5.4",
"react-bootstrap": "^0.31.0",
"react-dom": "^15.5.4",
"webpack": "^1.14.0",
"webpack-dev-server": "^1.16.2"
}
}
Ответы
Ответ 1
Это связано с тем, что Bootstrap использует шрифт Gylphicon Halflings для отображения своих глификонов. Bootstrap CSS должен быть явно включен, поскольку он импортирует глификоны, иначе глификоны не появятся. Вы можете добавить файл bootstrap.min.css
в свой index.html
, который импортирует его для вас:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
В этой проблеме возникла проблема поднятая на GitHub. Он явно не сказал, что вам нужно включить Bootstrap CSS, и я столкнулся с этим вопросом раньше. Вы должны включить файл CSS, иначе глификоны не будут импортированы, а ваши компоненты не будут отображаться.
Ответ 2
Я полагаю, что реакция-бутстрап не включает компонент глификонов (я проверил там компоненты: https://react-bootstrap.github.io/components/alerts/)
Таким образом, вам нужно будет добавить глификоны поверх пакетаact-bootstrap:
В файле index.html добавьте следующую строку:
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
Это должно решить проблему без повторного импорта всего загрузочного CSS.