Redux的新手。我正在工作的地方跟随一个示例,尝试使用无状态组件创建Facebook登录按钮。我似乎无法完成将clickHandler
属性绑定到任何描述函数的基本操作。在下面的示例中,我将其简化为简单的控制台日志。无论我做什么,当我单击按钮时,都会显示“ clickHandler不是函数”。我究竟做错了什么?
零件
import React from 'react';
const FacebookLoginComponent = (props) => {
const {
clickHandler
} = props;
return(
<button className="btn btn-primary" onClick={ () => clickHandler() }>Say hello</button>
)
}
export default FacebookLoginComponent;
容器
import { connect } from 'react-redux';
import FacebookLoginComponent from "../components/FacebookLogin";
const mapStateToProps = state => ({});
const mapDispatchToProps = dispatch => ({
clickHandler: () => console.log('hello')
})
const FacebookLogin = connect(
mapStateToProps,
mapDispatchToProps,
)(FacebookLoginComponent);
export default FacebookLogin;
最佳答案
我怀疑您可能是错误地使用了未连接的FacebookLoginComponent
而不是已连接的FacebookLogin
。
如果您使用的是FacebookLoginComponent
而不传递任何道具,则clickHandler确实不是一个函数。