reactjs - React 组件更深层次的结构和 props
问题描述
这里初学者...
我正在尝试重构我的(否则工作的应用程序),所以我不需要一遍又一遍地重复相同的代码......这是情况(我只是粘贴代码的关键部分)
第一个组件通过 fetch 从 API 映射项目:
<Slider>
// Slider 1
{pool .map(item =>
<div className="entry">
<Pills type={item.type.abb} description={item.type.description} />
/* ETC */
</div>
)}
// Slider 2
{pool .map(item =>
<div className="entry">
<Pills type={item.type.abb} description={item.type.description} />
/* ETC */
</div>
)}
// Slider 3
{pool .map(item =>
<div className="entry">
<Pills type={item.type.abb} description={item.type.description} />
/* ETC */
</div>
)}
// ETC
在第二个中,我有布局和道具:
const Pills = props => {
return (
<div className="panel-header-icons">
<div className="pills">
<span
className={"label-blue " + props.type_abb + '-bg'},
title={props.type_description}
>
{props.type_abb}
</span>
</div>
</div>
)
}
我想做的是只有一个滑块元素并显示来自另一个组件的项目值。
{pool .map(item =>
<SliderOne />
</div>
)}
//ETC
我知道有基础知识,但我只是被困在这里。如果您至少能指出我在这里缺少 React 功能的哪一部分,我会非常高兴。谢谢...
解决方案
只需创建一个新组件。
export default ({children, item})=>{
return(
<div>
<Pills type={item.type.abb} description={item.type.description} />
{children}
</div>
)
}
然后你像这样使用它:
<Slider item={item}>etc</Slider>
推荐阅读
- windows - 通过 docker-compose 将 build-args 传递给 Dockerfile 的奇怪行为
- python - 时间序列数据合并最近右数据集具有多个相同的值
- c++ - 编写输出文件 Cuda C++
- ruby-on-rails - Rails 应用程序支持不同的时区
- node.js - Firebase 部署在控制台中有效,但在 bitbucket 管道中无效
- python - Pandas,为什么字符串匹配在第一个字母处停止
- css - 如何删除 Wordpress 中标题和滑块之间的空白?
- ios - 我无法在 Xcode 12 的 xib 中创建自定义 UIView
- c# - 如何从 WPF DataGrid 获取单元格内容
- angular - 在primeng中,我们如何获取表格列的默认下拉值过滤器