当我try 以以下方式在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);
return () => {
// console.log('cleanup');
};
}, [targetColor, loadedMegaColors, debouncedToleranceH, debouncedToleranceS, debouncedToleranceL]);
从那个帮助页面上,我仍然不知道该调整什么,这样我才能同时使用useLocalStorage
和useDebounce
.
我找到了https://stackoverflow.com/a/73411103/470749个值,但不想强制设置一个本地存储值(它应该只由用户设置).