问题描述
我希望当用户单击Link
时直接执行注销功能,而无需单击注销button
时不执行(2到1动作)
<Link to="/logout">logout</Link>
...
<Route path="/logout">
<logout />
</Route>
import React,{ Component } from 'react'
import { logout } from './../../services/auth.service';
import { Redirect } from 'react-router-dom';
export default class logout extends Component {
state = {
navigate: false
}
handlelogout() {
logout();
this.setState({
navigate: true
})
}
render() {
const { navigate } = this.state;
if (navigate) {
return <Redirect to="/login" push={true} />;
}
return <button onClick={() => this.handlelogout()}>logoUT</button>
}
}
我将所有login(),register(),getData(),postData()逻辑放入服务中,甚至将logout()放入auth.service.js中:
export function logout() {
localStorage.removeItem('user');
}
您知道我该怎么做“不单击按钮”注销快捷方式吗?
谢谢您的帮助。
[编辑]
<Link to="/logout" onClick={() => this.logout()}>logout</Link>
为什么React router documentation中没有提及此内容?
此解决方案不合适,因为我仍然不想使用注销组件...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)