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

标签 javascript reactjs components prototype extends

这适用于几乎任何场景:

我有一个使用 React Router 的 React 应用程序 <Link> s,它们分散在我的应用程序中。我想扩展 <Link> 或对其进行原型(prototype)设计组件,以便在渲染它们时有一个新属性。 (我只想为所有链接标记添加一个属性。)

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

谢谢

最佳答案

最好的方法是克隆元素,您应该使用 React.cloneElement 。要使该组件在任何地方都可用,只需使用它创建一个新组件,然后将其导出。

import React from "react";
import {Link} from "react-router";

const CustomLinkAttribute = React.cloneElement(Link, {
  newProp: "New prop val here"
});
export default CustomLinkAttribute;

关于javascript - 如何扩展已在使用的 React 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59742252/

相关文章:

javascript - 开 Jest 玩 Redux Action

javascript - 如何在 Angular 1.5 组件中等待绑定(bind)(没有 $scope.$watch)

javascript - mandrill、merge_vars 和 Handlebars 数组问题

javascript - 如何使图像的各个部分在悬停时发光

javascript - jquery 帮助返回顶部

javascript - 我可以在 Mongo Shell Javascript 文件中读取 csv 文件吗?

javascript - 在 react 中访问全局变量

javascript - 浅渲染不渲染包装在消费者中的组件( Jest/ enzyme )

iframe - 带有 DomSanitationService 的 iFrame 中的 Angular2 不安全资源 URL

java - JFolderChooser.showOpenDialog 中的父组件是什么