React Review: errors & warnings on default branch
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 45/100
- Issue 类型
- 重构
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- nextjs, react, typescript
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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.
- 主要语言
- TypeScript
- 星标
- 352
- 派生
- 23
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
millionco/debug-agent 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 48/100
millionco/debug-agent#4 ·
查看 millionco/debug-agent 的全部 Issue
相似的 Issue
-
e2e-failure ready-to-code
难度 2/5 1-3 小时 新手友好度 79/100
redhat-developer/rhdh-plugin-export-overlays#4580 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
devdotfast/whiteboard#1415 · 1 条评论 ·
维护者通常 1 天内回复
-
area/sessions comp/desktop desktop/sessions P2 type/bug
难度 2/5 1-3 小时 新手友好度 84/100
NousResearch/hermes-agent#145383 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
enhancement p2 setup
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复