Skip to content

useCookie

一个用来操作Cookie的 Hook 。

使用Demo

vue
<template>
  <div class="hello" style="display:flex;align-items:flex-start;">
    <p> value:{{ state }}</p>
    <button @click="handlerUpdateState">修改Cookie</button>
  </div>
</template>

<script lang="ts">
import { useCookie } from "@dfsj/hooks";

export default {
  
  setup() {
    // 获取cookie中的a
    const state = useCookie('a',{
        defaultValue: '1111',
        watch: true,
        path: '/useCookie',
        expires: 1,

    });

    const handlerUpdateState = ()=>{
      state.value = String( Math.random() );
    };

    // useVirtualList测试
    return {
      state,
      handlerUpdateState
    };
  },
};
</script>

useCookie接受一个key是cookie中的键名。 修改返回的state可直接修改cookie.

注意点

  • state等于undefined或者null可用于删除本地Cookie 例:state.value = undefined;

Api


interface Options{
    watch?: boolean,
    defaultValue?: string | undefined,
    expires?: number | Date,
    path?: string,
    domain?: string,
    secure?: boolean,
    sameSite?: 'strict' | 'lax' | 'none'
}

const state = useCookieState(
  key: string,
  options?: Options,
)

Params

参数说明类型默认值
key存储在本地 cookie 的 key 值string-
options可选项,配置 cookie 属性,详见 OptionsOptions-

Result

参数说明类型
state本地 cookie 值Ref<any>

Options

参数说明类型默认值
defaultValue可选,定义 cookie 默认值,但不同步到本地 cookiestringundefined
expires可选,定义 cookie 存储有效时间numberDate
path可选,定义 cookie 可用的路径string/
domain可选,定义 cookie 可用的域,默认为 cookie 创建的域名string-
secure可选,cookie 传输是否需要 https 安全协议boolean-
sameSite可选,cookie 不能与跨域请求一起发送strictlax