我正在寻找的功能在这里使用静态函数语法完美无缺,但是,我喜欢在构造函数本身上声明的静态函数(即className.staticFunction () => ...
而不是static staticFunction = () => ...
类定义本身。
这里的代码我指的是我想重构使用构造函数/函数上定义的静态函数而不是static
语法,如下所示。
const higherOrderFunction = another => andAnother => class extends Component {
static functionName = {
test: React.PropTypes.object
};
constructor(props) {
super(props);
}
render() {
return <h1>Hello, World!</h1>;
}
};
export default higherOrderFunction;
答案 0 :(得分:1)
class
的值与您没有类定义的构造函数function
相同。所以:
const higherOrderFunction = another => andAnother => Component;
function Component() {}
Component.functionName = () => {
test: React.PropTypes.object
};
Component.prototype.render = () => {
return <h1>Hello, World!</h1>;
}
export default higherOrderFunction;
您可能希望在函数体中包装函数和成员定义以封装和使用任何参数:
const higherOrderFunction = another => andAnother => {
function Component() {}
Component.functionName = () => {
test: React.PropTypes.object
};
Component.prototype.render = () => {
return <h1>Hello, World! {another} and {andAnother}</h1>;
}
return Component;
};
export default higherOrderFunction;