是否可以部分应用 React 组件?

cus*_*der 6 functional-programming reactjs

假设我有一个<Button>具有两个属性的组件:text例如id

\n
<Button text="delete" id="123"/>\n
Run Code Online (Sandbox Code Playgroud)\n

现在假设我有一个用户 ID 列表:[101, 102, 103, \xe2\x80\xa6]

\n

可以部分申请吗<Button>?例如,

\n
ids.map(<Button text="delete" id={__}>)\n
Run Code Online (Sandbox Code Playgroud)\n

其中__只是一个等待被当前 id 替换的占位符。

\n

如果可能的话,部分应用 React 组件会对React 协调算法产生不利影响吗?

\n

Gab*_*oli 5

你可以使用两种方式

一个,这并不是真正的部分

ids.map((id)=><Button text="delete" id={id} />)
Run Code Online (Sandbox Code Playgroud)

以及真正提取上面的函数并使用它的部分函数

const PartialDeleteButton = (id) => <Button text="delete" id={id} />

ids.map(PartialDeleteButton)
Run Code Online (Sandbox Code Playgroud)

您也可以将其用作

<PartialDeleteButton id={5} />
Run Code Online (Sandbox Code Playgroud)

我看不出这些会如何影响协调算法