我universal-cookie在 Next.js 项目中使用这个简单的代码,在控制台中返回警告:
import React, { useState } from "react";
import Cookies from "universal-cookie";
import styles from "../styles/Home.module.css";
export default function Home() {
const cook = new Cookies();
const [session, setSession] = useState(cook.get("key"));
const setCookie = () => {
cook.set("key", "hola", { secure: true });
setSession(cook.get("key"));
};
const deleteCookie = () => {
cook.remove("key", { secure: true });
setSession(undefined);
};
return (
<div className={styles.container}>
<button onClick={() => setCookie()}>Save Cookie</button>
<button onClick={() => deleteCookie()}>Delete Cookie</button>
{session ? <>I'm in</> …Run Code Online (Sandbox Code Playgroud) 当我尝试按以下方式在 Next.js 中使用https://usehooks-ts.com/react-hook/use-local-storage时,我得到
未处理的运行时错误 错误:文本内容与服务器呈现的 HTML 不匹配。
在此处查看更多信息: https ://nextjs.org/docs/messages/react-Hydration-error
const [toleranceH, setToleranceH] = useLocalStorage<number>('toleranceH', 3);
const [toleranceS, setToleranceS] = useLocalStorage<number>('toleranceS', 3);
const [toleranceL, setToleranceL] = useLocalStorage<number>('toleranceL', 3);
const [results, setResults] = useState<MegaColor[]>([]);
const debouncedToleranceH = useDebounce<number>(toleranceH, 200);
const debouncedToleranceS = useDebounce<number>(toleranceS, 200);
const debouncedToleranceL = useDebounce<number>(toleranceL, 200);
useEffect(() => {
const targetColorDetailsObject = getColorDetailsObject(targetColor);
const degreeTolerance = (360 / 100) * debouncedToleranceH;
const [hueMin, hueMax] = getHueTolerance(targetColorDetailsObject.hue(), degreeTolerance);
const filteredColors = getFilteredColors(targetColorDetailsObject, loadedMegaColors, hueMin, hueMax, debouncedToleranceS, debouncedToleranceL);
setResults(filteredColors); …Run Code Online (Sandbox Code Playgroud)