我如何扩展已在使用的React组件?

问题描述 投票:0回答:2

这几乎适用于以下情况:

我有一个使用React Router <Link>的React应用,它们分散在我的整个应用中。我想扩展或原型化<Link>组件,以便在呈现它们时有一个新属性。 (我只想向所有链接标签添加一个属性。)

如何更新整个应用程序中正在使用的Link组件,使其具有新属性[无需创建新组件,例如<CustomAttributeLink>,]?

谢谢

javascript reactjs components prototype extends
2个回答
0
投票

您可以使用React.cloneElement例如克隆元素并添加额外的道具:

React.cloneElement

0
投票

最佳方法是通过克隆元素,应使用var clonedElementWithExtraProps = React.cloneElement( MainElement, { newProp: "This is a new prop" } ); Return clonedElementWithExtraProps; 。要使该组件可在任何地方使用,只需使用它创建一个新组件,然后将其导出。

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