Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 注销后使用react js清除令牌cookie_Reactjs - Fatal编程技术网

Reactjs 注销后使用react js清除令牌cookie

Reactjs 注销后使用react js清除令牌cookie,reactjs,Reactjs,我正在使用react cookie将代币存储在cokies中。有人能告诉我吗?注销时如何清除cookie import React, { Component } from 'react'; import { withCookies } from 'react-cookie'; class Dashboard extends Component { constructor(props) { super(props); this.state = {

我正在使用react cookie将代币存储在cokies中。有人能告诉我吗?注销时如何清除cookie

import React, { Component } from 'react';
import { withCookies } from 'react-cookie';


class Dashboard extends Component {
    constructor(props) {
        super(props);
        this.state = {
        }
        this.logout = this.logout.bind(this)
    }
    logout = (e) => {

        cookies.remove('Token');
        window.location.href = '/';
    }

    render() {
        return (
            <div className="Dashboard">
                <div>Dashboard</div>
                <button onClick={this.logout}>Logout</button>
            </div>
        );
    }
}
export default withCookies(Dashboard);
import React,{Component}来自'React';
从“react cookie”导入{WithCookie};
类仪表板扩展组件{
建造师(道具){
超级(道具);
此.state={
}
this.logout=this.logout.bind(this)
}
注销=(e)=>{
cookies.remove('Token');
window.location.href='/';
}
render(){
返回(
仪表板
注销
);
}
}
使用cookies导出默认值(仪表板);

您需要返回false:

logout = (e) => {

     cookies.remove('Token');
     window.location.href = '/';
     return false;
}

我找到了解决这些问题的办法。。。我已从道具类型导入instanceOf。。。并将Cookies的名称更改为Cookies…使用注销后清除Cookies

import React, { Component } from 'react';
import { withCookies, Cookies } from 'react-cookie';
import { instanceOf } from 'prop-types';


class Dashboard extends Component {
    static propTypes = {
        cookies: instanceOf(Cookies).isRequired
    };

    logout = (e) => {
        const { cookies } = this.props;
        cookies.remove('Token');
        window.location.href = '/';
        // return false;
    }

    render() {
        return (
            <div className="Dashboard" token={this.state.token} >
                <div>Dashboard</div>
                <button onClick={this.logout}>Logout</button>
            </div>
        );
    }
}
export default withCookies(Dashboard);
import React,{Component}来自'React';
从“react cookie”导入{withCookies,Cookies};
从“道具类型”导入{instanceOf};
类仪表板扩展组件{
静态类型={
cookies:instanceOf(cookies)。需要
};
注销=(e)=>{
const{cookies}=this.props;
cookies.remove('Token');
window.location.href='/';
//返回false;
}
render(){
返回(
仪表板
注销
);
}
}
使用cookies导出默认值(仪表板);

您如何选择路由?您正在使用react路由器吗?window.location.href='/';我使用的是('cookies'未定义)响应如下您需要从'react cookie'导入
import{withCookies,cookies}此外,大多数人使用Universal cookie或js cookie,因为它使用起来更简单。非常感谢james的帮助…我得到了解决方案…另一方面…我现在就发布anwser