reactjs - 水平对齐两个组件
问题描述
我在使用 React 对齐选项卡中的两个组件时遇到了一些问题。我在 App.js 中的两个组件上有一个 div 包装器。然后我尝试使用 flex 设置组件的样式,但父 div 中似乎没有显示样式。
这是 App.js:
import React, { useState } from 'react';
import './App.css';
import Header from './Components/Header';
import Tabs from './Components/Tabs';
import Footer from './Components/Footer';
import SimpleMap from './Components/SimpleMap';
import NewPatient from './Components/NewPatient';
import Contact from './Components/Contact';
import NewPatientForm from './Components/NewPatientForm';
import Login from './Components/Login';
import MapData from './Components/MapData';
function App() {
const [buttonPopup,setButtonPopup] = useState(false);
const [buttonPopupPatient,setButtonPopupPatient] = useState(false);
const [buttonPopupLogin,setButtonPopupLogin] = useState(false);
return (
<div className="App">
<Header setButtonPopupLogin={setButtonPopupLogin} />
<Contact trigger={buttonPopup} setTrigger={setButtonPopup} />
<NewPatientForm trigger={buttonPopupPatient} setTrigger={setButtonPopupPatient} />
<Login trigger={buttonPopupLogin} setTrigger={setButtonPopupLogin} />
<Tabs>
<div label="Home" class="home-page">
<img src="https://news.usc.edu/files/2020/06/covid_vaccine_stock.jpg"></img>
</div>
<div label="New Patient">
<NewPatient setButtonPopupPatient={setButtonPopupPatient}/>
</div>
<div label="Locations" className="parent-map">
<SimpleMap />
<MapData />
</div>
<div label="Appointments">
</div>
</Tabs>
<Footer setButtonPopup={setButtonPopup} />
</div>
);
}
export default App;
这是 App.css 文件:
.App {
text-align: center;
}
.tab-list { border-bottom: 1px solid #ccc;
padding-left: 0;
}
.tab-list-item {
display: inline-block;
list-style: none;
margin-bottom: -1px;
padding: 0.5rem 0.75rem;
}
.tab-list-active {
background-color: white;
border: solid #ccc;
border-width: 1px 1px 0 1px;
}
img {
height: 500px;
width: 500px;
}
.parent-map{
display: flex;
flex-direction: row;
}
我尝试将组件包装在一个 div 中并使用相同的 className 来设置样式,我尝试为在 App.js 中包装组件的 div 放置一个 className,但似乎没有任何效果。我在这里错过了什么吗?
这是我要对齐的两个组件:
组件 1:
import React, { useState } from 'react';
import { DropdownButton, Dropdown } from 'react-bootstrap';
function MapData(){
return (
<DropdownButton id="dropdown-basic-button" title="Dropdown button">
<Dropdown.Item href="#/action-1">5 miles</Dropdown.Item>
<Dropdown.Item href="#/action-2">10 miles</Dropdown.Item>
<Dropdown.Item href="#/action-3">25 miles</Dropdown.Item>
</DropdownButton>
)
}
export default MapData;
组件 2:
import React, {Component} from 'react';
import GoogleMapReact from 'google-map-react';
const AnyReactComponent = ({ text }) => <div>{text}</div>;
class SimpleMap extends Component {
static defaultProps = {
center: {
lat: 33.9806,
lng: -117.3755
},
zoom: 11
};
render() {
return(
<div style={{ height: '50vh', width: '50%' }} >
<GoogleMapReact
bootstrapURLKeys={{ key: 'AIzaSyBcNjjKbKT4Fror-w5C8Ch7GoMaEq_YXAE' }}
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}
>
<AnyReactComponent
lat={33.9806}
lng={-117.3755}
text="My Marker"
/>
</GoogleMapReact>
</div>
)
}
}
export default SimpleMap;
解决方案
推荐阅读
- amazon-web-services - 使用简单的 AWS AppSync Batch Resolver 苦苦挣扎
- python - Pyspark RDD 将当前行与下一行合并,直到当前行长度达到 x
- laravel - Laravel 5.7(最新)分页错误(无论您单击哪个分页链接,都只停留在第一页)
- macos - NTFS 未安装在 OS-X 中
- android-proguard - 生成签名 apk 时有关库的 Proguard 警告错误
- python - 使用触觉开关重新启动 Python 脚本
- docker - 无需root即可将docker登录到filebeat
- python-3.x - Pandas 从数据框中深度复制一行
- firebase - 在终端中部署功能成功但未出现在控制台中
- reactjs - 在 react js 中为容器编写单元测试用例