我目前正在尝试学习React和React-Bootstrap。
我试图充分利用React-Bootstrap网格布局。我不确定是否执行不正确。我的直觉说我在某个地方使用了不合适的版本,因为据我所知,“容器,列,行”功能根本不起作用。
可能是什么问题?我没主意了。
package.json中的版本:
"dependencies": {
"bootstrap": "^4.3.1",
"jquery": "^3.0.0",
"react": "^16.8.4",
"react-bootstrap": "^1.0.0-beta.6",
"react-dom": "^16.8.4",
"react-scripts": "2.1.8",
"typescript": "^3.3.4000"
“ bootstrap”目录中的package.json:
"_from": "bootstrap@latest",
"_id": "bootstrap@4.3.1",
“ react-bootstrap”目录中的package.json:
"_from": "react-bootstrap@^1.0.0-beta.6",
"_id": "react-bootstrap@1.0.0-beta.6",
请注意,我也尝试过安装bootstrap@3
并没有运气:
npm install bootstrap@3 --save
npm i --save bootstrap@3
index.js的主要代码段:
import React from 'react';
import ReactDOM from 'react-dom';
import Container from 'react-bootstrap/Container';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
class Module extends React.Component
{
constructor(props)
{
super(props);
}
clickHandler = (command) =>
{
// ... some handler code here
}
render()
{
return (
<Container>
<Row>
<Col>
<table>
<tr>
<th class="r1_header"> Header 1 </th>
<th class="r1_header"> Header 2 </th>
<th class="r1_header"> Header 3 </th>
</tr>
<tr>
<td> <button/> </td> // some more button stuff here
<td> <button/> </td>
<td> <button/> </td>
</tr>
<tr>
<td> <button/> </td>
<td> <button/> </td>
<td> <button/> </td>
</tr>
<tr>
<td> <button/> </td>
<td> <button/> </td>
<td> <button/> </td>
</tr>
<tr>
<th class="r2_header"> Header 1 </th>
<th class="r2_header"> Header 2 </th>
<th class="r2_header"> Header 3 </th>
</tr>
<tr>
<td> <button/> </td>
<td> <button/> </td>
<td> <button/> </td>
</tr>
<tr>
<td> <button/> </td>
<td> <button/> </td>
<td> <button/> </td>
</tr>
<tr>
<td> <button/> </td>
<td> <button/> </td>
<td> <button/> </td>
</tr>
</table>
</Col>
<Col>
// another table here... should be aligned next to the
// prev "col" horizontally but is going underneath (vertically)
</Col>
</Row>
</Container>
);
}
}
*更新*
这是MCVE ...
显示的文本应为HelloWorld
,但应为:
Hello
World
答案 0 :(得分:11)
根据反应文档,您必须先安装引导程序
npm安装react-bootstrap引导程序
然后您必须将此行导入到index.js或App.js
import 'bootstrap/dist/css/bootstrap.min.css';
然后您可以像这样在组件import { Container, Row, Col } from 'react-bootstrap';
中导入
并像这样使用
<Container>
<Row>
<Col>1</Col>
<Col>2</Col>
<Col>3</Col>
</Row>
</Container>
答案 1 :(得分:1)
我已经解决了这个问题。对我而言,这是一个错过的步骤。我错过了关于style sheets的react-bootstrap主程序中概述的设置的关键部分。
在index.html
中,将路径复制并粘贴到最新的引导程序样式表:
<link
rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
crossorigin="anonymous"
/>
答案 2 :(得分:0)
您可以使用网格,然后从12中指定要为表格提供的列数,以及要为其他内容保留的列数。
就像下面的代码一样。
像
一样导入Grid,Row和colsimport { Row, Col, Grid } from 'react-bootstrap';
<Grid>
<Row>
<Col md="6">
<table>
<tr>
<th class="r1_header"> Header 1 </th>
<th class="r1_header"> Header 2 </th>
<th class="r1_header"> Header 3 </th>
</tr>
<tr>
<td> <button /> </td> // some more button stuff here
<td> <button /> </td>
<td> <button /> </td>
</tr>
<tr>
<td> <button /> </td>
<td> <button /> </td>
<td> <button /> </td>
</tr>
<tr>
<td> <button /> </td>
<td> <button /> </td>
<td> <button /> </td>
</tr>
<tr>
<th class="r2_header"> Header 1 </th>
<th class="r2_header"> Header 2 </th>
<th class="r2_header"> Header 3 </th>
</tr>
<tr>
<td> <button /> </td>
<td> <button /> </td>
<td> <button /> </td>
</tr>
<tr>
<td> <button /> </td>
<td> <button /> </td>
<td> <button /> </td>
</tr>
<tr>
<td> <button /> </td>
<td> <button /> </td>
<td> <button /> </td>
</tr>
</table>
</Col>
<Col md="6">
{"dsfdsdsf"}
</Col>
</Row>
</Grid>
答案 3 :(得分:0)
您还可以在index.js文件中添加import 'bootstrap/dist/css/bootstrap.min.css';
。确保npm install bootstrap
。