微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

点击与React链接

如何解决点击与React链接

我希望当用户单击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 举报,一经查实,本站将立刻删除。