反应Redux TypeError this.props.setEmailText不是函数

时间:2020-09-30 20:37:58

标签: javascript reactjs redux

反应Redux TypeError this.props.setEmailText不是一个函数。是bindind问题,因为当我通过{... this.props}获得道具时,一切都很好吗? https://codesandbox.io/s/reduxex1-f9sid

import React from "react";

export default class Auth extends React.Component {
  constructor(props) {
    super(props);
    this.onEmailChange = this.onEmailChange.bind(this);
    this.onPasswordChange = this.onPasswordChange.bind(this);
  }

  onEmailChange(e) {
    this.props.setEmailText(e.target.value);
  }

  onPasswordChange(e) {
    this.props.setPasswordText(e.target.value);
  }

1 个答案:

答案 0 :(得分:0)

您将this.props.setEmailText传递给onEmailChange组件Auth的{​​{1}}属性。更改为使用一致的道具名称。

onEmailChange={this.props.setEmailText}

现在class AuthContainer extends React.Component { render() { return ( <Auth email={this.props.email} password={this.props.password} setEmailText={this.props.setEmailText} // <-- use setEmailText setPasswordText={this.props.setPasswordText} /> ); } } 可以访问道具

Auth