React Review: errors & warnings on default branch
まだ誰も着手していません。
評価
- 難易度
- 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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
millionco/debug-agent のほかの issue
-
React Review Auditオープン
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
millionco/debug-agent#4 ·
millionco/debug-agent の issue をすべて見る
似ている issue
-
area:plugins enhancement platform:vscode
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
anthropics/claude-code#103166 ·
メンテナーはふだん 1 日以内に返信
-
check:failed streams:add
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
iptv-org/iptv#55744 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
jitsi/jitsi-meet#18021 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信
-
spec: discovery input example can contain multiple aliases for one parameter, with no canonical oneオープン
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
x402-foundation/x402#3841 ·
メンテナーはふだん 1 日以内に返信