这几乎适用于以下情况:
我有一个使用React Router <Link>
的React应用,它们分散在我的整个应用中。我想扩展或原型化<Link>
组件,以便在呈现它们时有一个新属性。 (我只想向所有链接标签添加一个属性。)
如何更新整个应用程序中正在使用的Link
组件,使其具有新属性[无需创建新组件,例如<CustomAttributeLink>
,]?
谢谢
您可以使用React.cloneElement
例如克隆元素并添加额外的道具:
React.cloneElement
最佳方法是通过克隆元素,应使用var clonedElementWithExtraProps = React.cloneElement(
MainElement,
{ newProp: "This is a new prop" }
);
Return clonedElementWithExtraProps;
。要使该组件可在任何地方使用,只需使用它创建一个新组件,然后将其导出。
React.cloneElement