为了账号安全,请及时绑定邮箱和手机立即绑定

如何将自定义React事件作为组件道具处理

如何将自定义React事件作为组件道具处理

白衣染霜花 2021-04-14 08:20:26
假设我们有一个可重用的按钮组件。我们onClick为handlehandleClick事件提供道具。<Button onClick={(e)=>{doSomething(e)}}/>但是我也想在用户单击时更改按钮的文本属性。为了说明如下:export default class Button extends React.Component{    static propTypes = {       onClick:PropTypes.func    }     constructor(props){    super(props)    this.state = {      text:'Not Clicked the Button'    }     this.handleClick = this.handleClick.bind(this)     }    handleClick = (e) => {        this.setState({text:'Clicked the Button'})        this.props.onClick(e)    };    render(){       const {text} = this.state        return (            <button onClick={this.handleClick}>{text}</button>           )     }}像这样尝试时,将显示以下错误消息:TypeError: onClick is not a function解决该错误的方法应该是什么。处理可重用组件的事件的最佳方法是什么。
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

我找到了解决方案。如果没有prop func的默认值,则会出现此错误。


因此,一开始它应该包含onClick默认值null。


static defaultProps = {

 onClick:null

}


查看完整回答
反对 回复 2021-04-22
  • 1 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信