我正在创建一个小型组件库,我有一个表格组件,我的任务是使其模块化和通用,以便以后可以修改
现在 Table 本质上是一个容器组件,它可以包含我在库中构建的不同的各种其他小组件。
我想知道什么?
以下方法是将组件传递给其他组件的正确方法吗?如果不是,那么正确的方法或更好的方法是什么?
我在做什么
桌子有很多道具,但 3 个主要道具是:
colName
这是一个字符串数组,传递每列的表列名
data
是一个数组,其中包含每一行的数组。
dataComponent
(如果要将数据显示为普通文本数据,则保持未定义)这是一个组件数组(我在库中定义的那个),用于每一行的特定列
太多关于行列和代码的讨论
现在这里是示例代码:
const User = [
<React.Fragment>
<span className="userinfo">
<MUserIcon user_name={"dummy1"} profile_type={"facebook"} />
</span>
<span className="userinfo">
<MLink
link_href={"https://www.facebook.com"}
link_content={"dummy1"}
/>
</span>
</React.Fragment>,
<React.Fragment>
<span className="userinfo">
<MUserIcon user_name={"dummy2"} profile_type={"instagram"} />
</span>
<span className="userinfo">
<MLink
link_href={"https://www.instagram.com"}
link_content={"dummy2"}
/>
</span>
</React.Fragment>,
<React.Fragment>
<span className="userinfo">
<MUserIcon
user_name="imawebdev"
profile_type="linkedin"
user_img_src={pro_pic}
/>,
</span>
<span className="userinfo">
<MLink
link_href={"https://www.linkedin.com"}
link_content={"imawebdev"}
/>
</span>
</React.Fragment>
];
return (
<div className="App">
<MTable
title="Demo Table"
colsName={["Account Name", "Queued", "Errors"]}
data={[["imawebdev", 5, 0], ["dummy1", 4, 3], ["dummy2", 4, 0]]}
dataComponent={[User]}
/>
</div>
);
}
上面的代码有一个dataComponent
传递colName
“帐户名称”的组件,该组件由调用的用户头像组件(我作为库的一部分构建)组成MUserIcon
,同样可以说它MLink
是一个超链接组件。