使用js-cookie在ReactApp中设置cookie无法识别到期

时间:2019-01-09 05:09:26

标签: reactjs js-cookie

我正在尝试使用 js-cookie React 应用中设置一个有效期为10天的cookie。我遵循了this document,但是当我重新加载页面时,cookie的值始终为<mat-form-field appearance="outline" fxFlex="25" class="pr-12" *ngFor="let htmlMarketLevel of marketLevels"> <mat-label>{{htmlMarketLevel.MarketLevelName}}</mat-label> <mat-select name="Market{{htmlMarketLevel.Rank}}" [(ngModel)]="selectedMarket[htmlMarketLevel.Rank]" [compareWith]="compareMarkets" (selectionChange)="populateChildrenMarkets( $event )"> <mat-option>All</mat-option> <mat-option *ngFor="let market of markets[htmlMarketLevel.Rank]" [value]="market">{{market.MarketName}}</mat-option> </mat-select> </mat-form-field>。我希望它可以将我设置的值保留10天。

这是我设置cookie的代码:

undefined

这是我获取cookie值的代码:

handleClick() {
    const axios = require('axios');
    axios.post('http://127.0.0.1:8000/es/api/login/',
      {
        username: 'admin@admin.com',
        password: 'Cancun10!',
        //username: this.state.email,
        //password: this.state.password.password,
      },
    )
    .then(function (response) {
      Cookies.set('x-xsrf-token', response.token, {expires: 10});
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    })
  }

我希望if如果是第一次发送给class App extends Component { render() { var csrfCookie = Cookies.get('x-xsrf-token') if(csrfCookie === 'undefined'){ return ( <div className="App"> <LoginModal /> </div> ); } else { return ( <div className="App"> <Albums /> </div> ) } } } export default App; ,但是之后每次都会发送给LoginModal,持续10天。

1 个答案:

答案 0 :(得分:0)

我发现了错误。 cookie可以,但是我正在将cookie的值与'undefined'进行比较,但是我必须将其与undefined进行比较。像这样更改条件后,if(csrfCookie === undefined)一切正常。