将“道具”传递到道具外部是否是反模式?

问题描述 投票:1回答:1

我正在使用AntD <Table />组件。当我生成列时,我想将自定义道具传递给不属于数据表的数据单元。可能是主题,调色板,布局设置等。

每个列由一个对象表示,并具有render方法。 AntD遍历行和列,并传递该行的record以由给定的cell呈现。

{
   ... // keys like `key`, `title`, `dataIndex` ...
   render: (record) => {...}
}

而不是像这样将额外的道具直接传递给组件本身:

{
   ... // keys like `key`, `title`, `dataIndex` ...
   render: (record) => <MyCell {...record} extraProp={extraProp} extraProp2={extraProp2} />
}

我习惯于写这样的东西:

{
   ... // keys like `key`, `title`, `dataIndex` ...
   render: MyCell(extraProp, extraProp2)
}

其中MyCell定义为:

const MyCell = (extrProp, extraProp2) => props => {...}

我应该坚持使用常规道具吗?还是我通过这样的额外道具好吗?

会导致性能下降吗?将来它会咬我,使我难以追踪的错误吗?

谢谢

我正在使用AntD

组件。当我生成列时,我想将自定义道具传递给不属于数据表的数据单元。可能是主题,...
javascript reactjs design-patterns functional-programming
1个回答
0
投票

[两种方法略有不同。

© www.soinside.com 2019 - 2024. All rights reserved.