簡體   English   中英

ReactJS 在循環中設置全局 state 時不重新渲染組件

[英]ReactJS not re-rendering component when setting global state in a loop

 for (const method of methodsToRun) { let result = /*runStuff*/; results.push(...(JSON.parse(result))); setGlobalState('dataOutput', results); }

我有一個在每次迭代中運行算法的循環(每次迭代可能需要幾秒鍾才能完成)。 我需要依賴於“ dataOuput ”全局 state 的組件在每次迭代更新時重新渲染,但它僅在循環完成時更新。 我想這是由於 JS 是單線程的並且重新渲染被排隊,有什么解決方法來確保在循環的每次迭代中重新渲染?

PS:我正在使用react-hooks-global-state來管理全局 state,而不是 Redux

也許你應該使用 setTimeout。 React 中 1ms 內的所有 setState 事件同時發生

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM