我正在尝试使用 React 构建因式分解算法。我想根据因式分解的结果进行results添加LocalStorage。但是,LocalStorage设置的是以前的结果而不是当前的结果。
我认为发生这种情况是因为useEffect在每个新的(=用户输入)上运行[number]而不是基于[results]. 但是,我需要useEffect在新的用户输入提交上运行,因为那时必须触发分解。
localStorage因式分解完成后(finally如果可能的话,在块上)如何才能得到正确的结果?
const [results, setResults] = useState({
default: [],
detailed: [],
isPrime: '',
});
const { number } = props
useEffect(() => {
handleWorker(number);
//accessing results here will give previous results
}, [number]);
const handleWorker = number => {
try {
const worker = new Worker(new URL('facto.js', import.meta.url));
worker.postMessage({ number, algorithm });
worker.onmessage = ({ data: { facto …Run Code Online (Sandbox Code Playgroud)