← Back to list
INS-400
バグ:altaがメドロノヴァ打つ時にconsoleにエラー
StatusDone
TeamInstansys
Assigneeyasuhisa.hiraga@instansys.co.jp
PriorityNo priority
Created2026/02/12 04:19
Completed2026/02/16 04:56
Archived2026/02/24 02:38
Description
alta-entity.ts:538 Cannot update a component (`AnimatedSprite`) while rendering a different component (`ForwardRef`). To locate the bad setState() call inside `ForwardRef`, follow the stack trace as described in
Comments (1)
yasuhisa.hiraga@instansys.co.jp2026/02/13 00:58
エラーの原因 と 対処
setAlta の updater 関数(レンダリングフェーズ中に実行される)の中で、別のコンポーネントが参照している Jotai atom(setMedronovaTimeStopped /
setMedronovaFiring)を同期的に更新していたためです。
React は「コンポーネント A のレンダリング中にコンポーネント B の state を更新するな」というルールがあるので、AnimatedSprite
のレンダリング中に ForwardRef の state が変わってエラーになっていました。
修正後は、ハンドラー内ではフラグを立てるだけにして、実際の atom 更新は
useEffect(レンダリング完了後に実行される)で行うようにしたので、フェーズの衝突がなくなりました。