{"ID":2897653,"CreatedAt":"2026-06-01T04:54:23.091178241Z","UpdatedAt":"2026-06-01T04:54:23.091178241Z","DeletedAt":null,"paper_url":"https://arxiv.org/abs/2507.05234","arxiv_id":"2507.05234","title":"React-tRace: A Semantics for Understanding React Hooks","abstract":"React has become the most widely used web front-end framework, enabling the creation of user interfaces in a declarative and compositional manner. Hooks are a set of APIs that manage side effects in function components in React. However, their semantics are often seen as opaque to developers, leading to UI bugs. We introduce React-tRace, a formalization of the semantics of the essence of React Hooks, providing a semantics that clarifies their behavior. We demonstrate that our model captures the behavior of React, by theoretically showing that it embodies essential properties of Hooks and empirically comparing our React-tRace-definitional interpreter against a test suite. Furthermore, we showcase a practical visualization tool based on the formalization to demonstrate how developers can better understand the semantics of Hooks.","short_abstract":"React has become the most widely used web front-end framework, enabling the creation of user interfaces in a declarative and compositional manner. Hooks are a set of APIs that manage side effects in function components in React. However, their semantics are often seen as opaque to developers, leading to UI bugs. We int...","url_abs":"https://arxiv.org/abs/2507.05234","url_pdf":"https://arxiv.org/pdf/2507.05234v2","authors":"[\"Jay Lee\",\"Joongwon Ahn\",\"Kwangkeun Yi\"]","published":"2025-07-07T17:42:17Z","proceeding":"cs.PL","tasks":"[\"cs.PL\",\"cs.SE\"]","methods":"[]","has_code":false}
