我有一个很大的ReactJS类,我想克隆它。场景是原始的React类在一批代码中,我希望在另一批代码中重复使用 - 只需进行一些小的更改。理想情况下,我希望我能做到这样的事情:
var Element1 = React.createClass({
customMethod1: function() { ... },
customMethod2: function() { ... },
render: function () { ... }
});
// clone and override whatever we want
var Element2 = React.cloneClass(Component1);
Element2.customMethod1 = function () { ... };
// now we can use <Element2 />
有什么想法吗?
答案 0 :(得分:2)
尝试使用组合而不是克隆/继承。这是React推荐的方法。
从React 0.12开始,新API引入了React.createFactory。
var MyComponentClass = React.createClass(...);
var MyComponent = React.createFactory(MyComponentClass);
var MyOtherComponent = React.createClass({
render: function() {
return MyComponent({ prop: 'value' });
}
});
另一种可能的组合方式是通过refs将反应元素传递到另一个组件:https://stackoverflow.com/a/25723635/540802