gpt4 book ai didi

javascript - ReactJS 组件 PropTypes - 指定具有一组参数的函数类型

转载 作者:数据小太阳 更新时间:2023-10-29 04:38:25 25 4
gpt4 key购买 nike

我在 React(版本 0.13.3)组件中指定一个必需的函数 proptype...

var MyComponent = React.createClass({
propTypes : {
onClick : React.PropTypes.func.isRequired
},

handleClick(event) {
this.props.onClick(event, clickCallback);
},

clickCallback() {
console.log("foo");
},

render() {
return <div onClick={this.handleClick}></div>
}
});

export default MyComponent;

如您所见,我的 onClick Prop 不仅需要是一个函数,还需要接受 2 个参数。有什么方法可以使用 React PropTypes 来指定它吗?

我已阅读React docs entry on re-usable components并且似乎只有一种方法可以定义对象类型的形状而不是函数类型。

最佳答案

您可以尝试使用自定义验证器:

propTypes : {
onClick : function(props, propName, componentName) {
var fn = props[propName];
if(!fn.prototype ||
(typeof fn.prototype.constructor !== 'function' &&
fn.prototype.constructor.length !== 2)) {
return new Error(propName + 'must be a function with 2 args');
}
}
}

关于javascript - ReactJS 组件 PropTypes - 指定具有一组参数的函数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33278862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com