crootfast
Version:
大前端工程化命令行脚手架
34 lines (25 loc) • 854 B
JavaScript
import { useState, useEffect } from "react";
// Reference Type
function isPrimitive(value) {
return value === null || typeof value !== "object";
}
export function usePrimitiveState(initialValue) {
// if (!isPrimitive(initialValue)) {
// throw new Error(`"useState"定义的值必须是基本类型!`);
// }
// const [value, setValue] = useState(initialValue);
// function setPrimitiveValue(newValue) {
// if (!isPrimitive(newValue)) {
// throw new Error(`"useState"定义的值必须是基本类型!`);
// }
// setValue(newValue);
// }
// useEffect(() => {
// if (!isPrimitive(value)) {
// throw new Error(`"useState"定义的值必须是基本类型!`);
// }
// }, [value]);
// return [value, setPrimitiveValue];
return useState(initialValue);
}
// export default usePrimitiveState;