Проблемы с функцией React onClick.Я получаю функцию с помощью mapDispatchToProps.Я знаю, что редукционная часть работает, потому что это было раньше, и я не изменил это, и я скопировал и вставил (так что подайте в суд на меня).Я видел, что у других людей есть эта проблема, и обычно это было связано с тем, что они добавили () в конце вызова или не использовали this.props.перед рукой.Однако ни один из них, кажется, не решает проблему.Вот мой код:
import { Layout, Menu, Breadcrumb, Icon, Button } from 'antd';
import React from 'react'
import { NavLink, withRouter } from 'react-router-dom'
import WrappedNormalLoginForm from './Login'
import { connect } from 'react-redux'
import * as actions from '../store/actions/auth';
import UserDetailView from '../components/UserInformation'
const { Header, Content, Footer, Sider } = Layout;
const SubMenu = Menu.SubMenu;
class CustomLayout extends React.Component {
state = {
collapsed: false,
};
onCollapse = (collapsed) => {
console.log(collapsed);
this.setState({ collapsed });
}
render() {
return (
<Layout style={{ minHeight: '100vh' }}>
<Sider
collapsible
collapsed={this.state.collapsed}
onCollapse={this.onCollapse}
>
<div className="logo" />
<Menu theme="dark" defaultSelectedKeys={['1']} mode="inline">
<Menu.Item key="1">
<NavLink to="/" activeClassName="is-active" exact={true}><Icon type="home" />
<span>Home</span></NavLink>
</Menu.Item>
{
this.props.isAuthenticated ?
<div><Button onClick={this.props.logout} >Logout</Button></div>
:
<div></div>
}
</Menu>
</Sider>
<Layout>
<Header style={{ background: '#fff', padding: 0 }}>
{
this.props.isAuthenticated ?
<div><Button onClick={this.props.logout} >Logout</Button></div>
:
<WrappedNormalLoginForm/>
}
</Header>
<Content style={{ margin: '0 16px' }}>
<Breadcrumb style={{ margin: '16px 0' }}>
</Breadcrumb>
<div style={{ padding: 24, background: '#fff', minHeight: 360 }}>
{this.props.children}
</div>
</Content>
<Footer style={{ textAlign: 'center' }}>
</Footer>
</Layout>
</Layout>
);
}
}
const mapDispatchToProps = dispatch => {
return {
logout: () => dispatch(actions.logout())
}
}
export default withRouter(connect(null, mapDispatchToProps)(CustomLayout));