Skip to content
Book Open access

Remediating Superfluous Re-Rendering in React Applications

Apr 2026 · Proceedings of the 2026 IEEE/ACM 48th International Conference on Software Engineering · pp. 2250-2261 · 0 citations · 22 references

TL;DR

5 React anti-patterns that give rise to unnecessary re-rendering are identified, a static analysis for detecting them is presented, and rewrite rules that suggest how to refactor the code to improve rendering performance are suggested.

Abstract

React is an extremely popular framework for constructing user interfaces (UIs). A React UI is organized as a tree of components, each of which is defined by a function that returns a literal written in JSX, a syntactic extension of JavaScript consisting of a combination of XML tags, executable JavaScript code, and references to sub-components. React supports incremental re-rendering by maintaining an in-memory representation of a web page’s Document Object Model (DOM) and automatically calculating a set of minimal changes that must be applied to the DOM when state changes occur. However, React’s semantics are complex and subtle, and programmers often write code that gives rise to unnecessary re-rendering, which hurts performance and responsiveness. We identify 5 React anti-patterns that give rise to unnecessary re-rendering, present a static analysis for detecting them, and rewrite rules that suggest how to refactor the code to improve rendering performance. The static analysis is potentially unsound, so developers should carefully review the suggested refactorings. A survey of 7,758 React repositories showed that 92.1% of them exhibit at least one anti-pattern, and careful experimental evaluation on 23 React projects revealed that the suggested refactoring reduces the number of rendering operations by 33.3% on average while preserving application behavior in all but one case. With a small increase in code complexity, we find an average reduction in rendering time of 20.54%, and three case studies reveal that the refactorings can greatly improve application responsiveness as the number of components scales.

Read PDF

Similar papers

Preprint Aug 2026

ASIL: Replacing Screenshot-and-Click with Structured State and Semantic Actions

This work introduces ASIL (Agent-Software Interaction Layer), an agent-native interface that exposes software through structured JSON observations and code-executable semantic actions, realized through the deepest feasible access path for each application.

Rui Xie, Lu Chen · 0 citations
Book Open access Oct 2026

In-the-Wild JavaScript Dead-Code Elimination via HTTP Range Requests

JavaScript (JS) bloat is a major source of slow, data-inefficient web performance, as many sites ship large monolithic bundles with substantial unused code. Existing JS dead-code elimination techniques help but require server-side support and are therefore hard to deploy. This paper evaluates HTTP range requests as a c...

Ayush Pandey, Vladimir Sharkovski, Matteo Varvello et al. · 0 citations
Book Open access Oct 2026

ReOCL: An Incremental OCL Core for Reactive Web-Based Modeling

Constraint languages such as OCL are commonly used to add precision to domain models and meta-models, typically built using UML class diagrams and Ecore, respectively. However, current constraint languages and their tooling are poorly aligned with modern web-based modeling stacks, which demand reactive execution enviro...

Francisco Martínez-Lasaca, Esther Guerra, J. de Lara · 0 citations
Book Open access Sep 2026

Demonstrating SAGE: A Dataflow-Native Framework for Modular, Controllable, and Transparent LLM-Augmented Reasoning

This demo presents SAGE as a pipeline-native runtime system and demonstrates it through an OPC-facing control plane and includes a compact distributed comparison against a LangChain RPC baseline over a shared 15-workload RAG suite, where SAGE nearly doubles full-RAG throughput under matched 8-node settings.

Jun Liu, Shu-Hao Zhang · 0 citations
Book Open access Oct 2026

ActionTaint: Framework-Aware Taint Analysis for Next.js Server Actions

Next.js Server Actions simplify full-stack application development by allowing server-side functions to be called directly from UI components. While these functions may appear as regular JavaScript functions, the framework can expose them as client-accessible server endpoints, creating hidden trust boundaries that are...

Aisha Gurbanli · 0 citations
Book Open access Oct 2026

MiniPoly: Automatic Extraction of Efficient JavaScript Polyfill from Language Specification

A polyfill is a JavaScript implementation of built-in APIs for older execution environments lacking native support. Because developers rely on them to run modern features everywhere, strict conformity to the official language specification (ECMA-262) is crucial. However, manual implementation remains the industry stand...

Jung-Woo Kim, Y. Cho, Jihyeok Park · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.