How can I set a cookie in react?

后端 未结 7 2221
忘了有多久
忘了有多久 2020-11-30 20:09

Orginally, I use the following ajax to set cookie.

function setCookieAjax(){
  $.ajax({
    url: `${Web_Servlet}/setCookie`,
    contentType: \'application/         


        
7条回答
  •  北海茫月
    2020-11-30 20:56

    Little update. There is a hook available for react-cookie

    1) First of all, install the dependency (just for a note)

    yarn add react-cookie
    

    or

    npm install react-cookie
    

    2) My usage example:

    // SignInComponent.js
    import { useCookies } from 'react-cookie'
    
    const SignInComponent = () => {
    
    // ...
    
    const [cookies, setCookie] = useCookies(['access_token', 'refresh_token'])
    
    async function onSubmit(values) {
        const response = await getOauthResponse(values);
    
        let expires = new Date()
        expires.setTime(expires.getTime() + (response.data.expires_in * 1000))
        setCookie('access_token', response.data.access_token, { path: '/',  expires})
        setCookie('refresh_token', response.data.refresh_token, {path: '/', expires})
    
        // ...
    }
    
    // next goes my sign-in form
    
    }
    

    Hope it is helpful.

    Suggestions to improve the example above are very appreciated!

提交回复
热议问题