나는 다음과 같은 컨테이너 요소 프레젠테이션은 내가 LoginComponent에 컨테이너 구성 요소의 로그인 방법을 계승하고있는 렌더링() 메소드에서 볼 수 있듯이돌아 오는 발송 작업
import { connect } from "react-redux";
import LoginComponent from "./Login";
import React from "react";
export class LoginContainerComponent extends React.Component {
constructor(props) {
super(props)
}
login(username, password) {
//Perform actual login here
this.props.onLoginClick();
}
render() {
return (<LoginComponent onLoginClick = {this.login} />);
};
}
const mapStateToProps = function (state) {
return {
currentState: 'Logged Out'
}
};
const mapDispatchToProps = function (dispatch) {
return {
onLoginClick:() => {
alert('login clicked');
}
}
};
export default connect(mapStateToProps, mapDispatchToProps)(LoginContainerComponent);
에게 있습니다 구성 요소. 아이디어는
- 사용자가 클릭
- 프리젠 테이션 구성 요소 호출이 위의 컨테이너 요소에 대한 방법을 로그인 프리젠 테이션 구성 요소 버튼을 로그인 점이다.
- 컨테이너 구성 요소는 login (이 메서드는 실제 데이터베이스에 연결하고 사용자를 인증 함) 한 다음 connect() 메서드를 통해 전달 된 onLoginClick 메서드 (mapDispatchToProps)를 호출합니다. 그러나 this.props.onLoginClick에 액세스하려고 시도 할 때 LoginContainerComponent의 로그인 메서드에서 this.props는 null을 반환합니다. 내가 여기서 뭔가 잘못하고있는거야.