this.props.function不是函数-React js

时间:2019-02-19 10:35:54

标签: javascript reactjs

我的目标是使用 BACK 按钮进行重定向,但到目前为止没有成功。 当我尝试将功能从子级传递给父级时,它会返回我:

  

_this.props.callHomeFunction不是函数

Parent.js

  constructor(props) {
        super(props);
        this.state = {
            okRedirect: false,
        }

        this.consoleToHome = this.consoleToHome.bind(this)
    }

    consoleToHome = (test) => {
        // this.setState({ okRedirect: true });
        console.log('go to home');
        console.log(test);
    }
render(){
  return(
    <Router>
      <Select callHomeFunction={this.consoleToHome} />

Child.js

class BackButton extends Component {

  changePage = () => {
    const test = 'test';
    console.log('click on home');
    console.log(this.props);
    this.props.callHomeFunction(test);
  }
render() {
    return (
      <div className='back_buttons'>
        <ul>
          <li>
            <button className='back_buttons back_button'
              onClick={this.changePage}
            >

2 个答案:

答案 0 :(得分:1)

据我所见,您对组件的绑定是正确的,

请检查组件名称,您的子组件名称为BackButton,但是在包括时使用的是<< strong> select> 。

如果上述方法不能解决问题,请发布您的错误

答案 1 :(得分:0)

在Child.js中将构造函数与超级函数一起使用

constructor(props) {
    super(props);
}

希望它会起作用