reactjs - 如何在 ReactMapGL 组件上放置输入表单组件覆盖?
问题描述
我是 React 应用程序开发的新手。我正在尝试创建一个使用react-map-gl库中的ReactMapGL类的反应应用程序。这会渲染地图(我创建了地图组件)。我想在此地图上向页面右侧显示一个输入表单(我创建了 SampleInputForm 组件)作为覆盖。我正在使用 material-ui 框架进行前端 UI 设计。以下是代码片段:-
const useStyles = makeStyles((theme: Theme) =>
createStyles({
root: {
display: 'flex',
flexDirection: 'column',
overflow: 'hidden',
},
})
)
<div className={classes.root}>
<Map />
<Sampleinputform />
</div>
这会在页面下方的 mapbox 区域之外显示表单。如果我在我的地图组件中使用Sampleinputform作为子组件,那么它可以正常工作,并且我会在页面右上角的 mapbox 顶部获得一个输入表单作为叠加层,下面是代码片段:-
export default function Map() {
return (
<ReactMapGL>
// some code to render the map goes here
<SampleInputForm/>
</ReactMapGL>
}
我在第一个代码片段中遗漏了什么,因此我不需要在 Map 组件中传递表单?
解决方案
使用找到的帮助——
我能够将我的组件<SampleInputForm/>
放在外面<ReactMapGL>
。
.control-panel{
#the styling elements goes here
}
const defaultContainer = ({ children }) => <div className="control-panel">{children}</div>
const SampleInputForm: React.FC = () => {
const Container = defaultContainer
return (
<Container>
<form noValidate>
//Input components goes here
<form>
</Container> )
}
请建议是否有另一种更好的解决方案来做同样的事情。
推荐阅读
- c++ - c ++高斯随机数生成器不断生成相同的序列
- asp.net - 为什么每个 IIS 响应的末尾(作为最后一个字节)可能会有一个 UTF-8 BOM?
- reactjs - Excel文件数据未附加在数组反应JS中
- c++ - 如何从函数返回范围视图?
- wordpress - 可以从网站前端访问 WordPress 插件中的 CSV 文件吗?
- javascript - 如何获得一个月中的任何一天的日期?
- sql - SQL:第二旧的日期
- simics - Simics 使用的 BIOS 文件在磁盘的哪个位置?
- bash - 在 shell 中的电报机器人中发送内联按钮
- flutter - 无法配置 Flutter firebase 消息传递