我正在尝试使用 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天。
答案 0 :(得分:0)
我发现了错误。 cookie可以,但是我正在将cookie的值与'undefined'
进行比较,但是我必须将其与undefined
进行比较。像这样更改条件后,if(csrfCookie === undefined)
一切正常。