0.3.5 • Published 2 years ago

yann-usestate v0.3.5

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

yann-useState

使用

import { useState } from 'yann-usestate';
// state 是一个vue的ref对象
// setState 是赋值state的函数
const [state, setState] = useState(false);

// 如果需要做数据比对
const [state, setState] = useState(false, {
  // 如果开启diff,默认会采用内置拷贝的方式进行深拷贝
  diff: true
});

//比对函数默认采用的是lodash的isEqual,也可以自定义一个比较函数
const [state, setState] = useState(false, {
  diff: true,
  diffEvent(newVal, oldVal) {
    // 返回 true 表示两个值相同,不会重新赋值
    return isEqual(newVal, oldVal);
  }
});

// 如果你需要对赋值函数做一定的处理,那么你还可以设定 setStateEvent 函数
const [state, setState] = useState(false, {
  // 他将在diff执行之后触发
  setStateEvent(newVal) {
    // 你需要将要赋值的内容进行返回
    // 例如你需要做深拷贝,你可以使用 lodash的 cloneDeep
    return cloneDeep(newVal);
  }
});

// 如果你想知道开启 diff 后 setState 两个值是否相等可以通过 setState 函数的放回值确定,返回 true 表示两个值相等并且不会执行赋值操作,返回false表示不相等会进行赋值操作,(仅在diff开启的情况下是有效的)
0.3.5

2 years ago

0.3.2

2 years ago

0.3.4

2 years ago

0.2.5

2 years ago

0.3.3

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago