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

关于react的一个报错问题,求大神指点

关于react的一个报错问题,求大神指点

慕田峪8701529 2018-10-31 12:14:49
//父组件 import React,{Component,Fragment} from 'react'; import TodoItems from './TodoItems'     class Todolist extends Component {         render(){         return(         <Fragment><TodoItems del={this.show}/></Fragment>         )         }         show(){             alert(1)             } } export default Todolist; //子组件 import React,{ Component } from 'react'; class TodoItems extends Component{     constructor(props){     super(props)     this.handleDel = this.handleDel.bind(this) } render(){     return(         <div onClick={this.handleDel}>1111</div>         ) } handleDel(){     this.props.del() //这里子组件调用了父组件的方法,this.props.del相当于就是执行父组件的this.show,但是子组件中并没有show这个方法,为啥不报“this.props.del not a function”这个错误呢,我看慕课上视频这里是报错了的,会不会是因为react版本不同的原因呢 } } export default TodoItems;
查看完整描述

1 回答

?
Caballarii

TA贡献1123条经验 获得超629个赞

主要就是this的指向问题,你在constructor里给这个方法绑定了this,那应该就没问题了,视频里大概就是这个原因报错吧

查看完整回答
反对 回复 2018-10-31
  • 慕田峪8701529
    慕田峪8701529
    视频里报错的是this.props.del not a function,里面的讲师就在父组件传递方法的时候绑定了this就好了,但是我这个在父组件中传递这个方法的时候根本没有绑定this,也没有报错
  • Caballarii
    Caballarii
    父组件里这个方法没有用到this,不会出现指向问题
  • 慕田峪8701529
    慕田峪8701529
    嗯嗯,这个我明白,但是在调用这个方法this.props.del的时候,其实调用的是在调用this.show这个方法,而这个方法子组件根本没有呢,为啥不会报错,我在怀疑是不是视频中的解释是错的
点击展开后面1
  • 1 回答
  • 0 关注
  • 1277 浏览
慕课专栏
更多

添加回答

举报

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