React Review: errors & warnings on default branch
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- nextjs, react, typescript
- Área
- accessibility, frontend, performance, web-dev
Línea de trabajo
Start by reviewing the referenced locations in apps/website/package.json, apps/demo/src/app.tsx, apps/website/app/claude-spinner.tsx, and apps/website/app/page.tsx, then rerun the React Review diagnostics. Done means the reduced-motion, accessibility, metadata, motion-loading, state-management, and array-key diagnostics listed here are addressed and no longer reported.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Score: 95/100 · 1 error · 10 warnings
Copy as prompt
Fix the following React Review diagnostics in my codebase.
## Errors (1)
1. [error] require-reduced-motion — apps/website/package.json:0
Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3)
## Warnings (10)
2. [warning] no-array-index-as-key — apps/demo/src/app.tsx:96
Array index "index" used as key — causes bugs when list is reordered or filtered
3. [warning] no-array-index-as-key — apps/website/app/claude-spinner.tsx:38
Array index "index" used as key — causes bugs when list is reordered or filtered
4. [warning] click-events-have-key-events — apps/website/app/page.tsx:579
Enforce a clickable non-interactive element has at least one keyboard event listener.
5. [warning] click-events-have-key-events — apps/website/app/page.tsx:759
Enforce a clickable non-interactive element has at least one keyboard event listener.
6. [warning] no-static-element-interactions — apps/website/app/page.tsx:579
Static HTML elements with event handlers require a role.
7. [warning] no-static-element-interactions — apps/website/app/page.tsx:759
Static HTML elements with event handlers require a role.
8. [warning] nextjs-missing-metadata — apps/website/app/page.tsx:6
Page without metadata or generateMetadata export — hurts SEO
9. [warning] use-lazy-motion — apps/website/app/page.tsx:9
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
10. [warning] no-cascading-set-state — apps/website/app/page.tsx:196
39 setState calls in a single useEffect — consider using useReducer or deriving state
11. [warning] no-array-index-as-key — apps/website/app/page.tsx:758
Array index "index" used as key — causes bugs when list is reordered or filtered
❌ Errors (1)
require-reduced-motion
Project uses a motion library but has no prefers-reduced-motion handling — required for accessibility (WCAG 2.3.3)
Add
useReducedMotion()from your animation library, or a@media (prefers-reduced-motion: reduce)CSS query
⚠️ Warnings (10)
no-array-index-as-key
Array index "index" used as key — causes bugs when list is reordered or filtered
Use a stable unique identifier:
key={item.id}orkey={item.slug}— index keys break on reorder/filter
apps/demo/src/app.tsx:96
apps/website/app/claude-spinner.tsx:38
apps/website/app/page.tsx:758
click-events-have-key-events
Enforce a clickable non-interactive element has at least one keyboard event listener.
Visible, non-interactive elements with click handlers must have one of
keyup,keydown, orkeypresslistener.
apps/website/app/page.tsx:579
apps/website/app/page.tsx:759
no-static-element-interactions
Static HTML elements with event handlers require a role.
Add a role attribute to this element, or use a semantic HTML element instead.
apps/website/app/page.tsx:579
apps/website/app/page.tsx:759
nextjs-missing-metadata
Page without metadata or generateMetadata export — hurts SEO
Add
export const metadata = { title: '...', description: '...' }orexport async function generateMetadata()
use-lazy-motion
Import "m" with LazyMotion instead of "motion" — saves ~30kb in bundle size
Use
import { LazyMotion, m } from "framer-motion"withdomAnimationfeatures — saves ~30kb
no-cascading-set-state
39 setState calls in a single useEffect — consider using useReducer or deriving state
Combine into useReducer:
const [state, dispatch] = useReducer(reducer, initialState)
Last scored 2026-05-13T07:59:45.910Z. Maintained by React Review.
- Lenguaje dominante
- TypeScript
- Estrellas
- 351
- Forks
- 23
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de millionco/debug-agent
-
React Review AuditAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
millionco/debug-agent#4 ·
Todos los issues de millionco/debug-agent
Issues similares
-
Sequências em espanhol: «Atualizado em», a aba «Fila» e o valor 'pause' ainda saem em portuguêsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
melgarafael/DeskcommCRM#3104 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
🐛 [Bug] Mobile: on the login and registration pages the footer sits below the visible screenAbiertobug service: webapp
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Ocelot-Social-Community/Ocelot-Social#10684 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nicobailon/pi-subagents#2978 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
getsentry/sentry-conventions#732 · 1 comentario ·
Los mantenedores suelen responder en 1 día