#1

React Review Audit

Openreact-doctor[bot]opened 6mo ago

Score: 93/100 · 1 error · 48 warnings

Copy as prompt
Fix the following React Review diagnostics in my codebase.

## Errors (1)

1. [error] no-nested-component-definition — src/components/Card/Card.jsx:7
   Component "HandleNavigate" defined inside "Card" — creates new instance every render, destroying state

## Warnings (48)

2. [warning] no-unknown-property — src/components/Header/Header.jsx:8
   Unknown property found

3. [warning] no-unknown-property — src/components/Header/Header.jsx:17
   Unknown property found

4. [warning] no-unknown-property — src/components/Header/Header.jsx:40
   Unknown property found

5. [warning] no-unknown-property — src/components/Header/Header.jsx:51
   Unknown property found

6. [warning] no-unknown-property — src/components/Header/Header.jsx:63
   Unknown property found

7. [warning] rendering-svg-precision — src/components/Header/Header.jsx:9
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

8. [warning] rendering-svg-precision — src/components/Header/Header.jsx:13
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

9. [warning] rendering-svg-precision — src/components/Header/Header.jsx:18
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

10. [warning] rendering-svg-precision — src/components/Header/Header.jsx:22
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

11. [warning] rendering-svg-precision — src/components/Header/Header.jsx:36
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

12. [warning] rendering-svg-precision — src/components/Header/Header.jsx:41
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

13. [warning] rendering-svg-precision — src/components/Header/Header.jsx:45
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

14. [warning] rendering-svg-precision — src/components/Header/Header.jsx:52
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

15. [warning] rendering-svg-precision — src/components/Header/Header.jsx:56
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

16. [warning] rendering-svg-precision — src/components/Header/Header.jsx:64
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

17. [warning] rendering-svg-precision — src/components/Header/Header.jsx:68
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

18. [warning] no-unknown-property — src/components/Underheader/Underheader.jsx:28
   Unknown property found

19. [warning] no-unknown-property — src/components/Underheader/Underheader.jsx:41
   Unknown property found

20. [warning] no-unknown-property — src/components/Underheader/Underheader.jsx:53
   Unknown property found

21. [warning] no-unknown-property — src/components/Underheader/Underheader.jsx:70
   Unknown property found

22. [warning] anchor-is-valid — src/components/Underheader/Underheader.jsx:14
   Use of incorrect `href` for the 'a' element.

23. [warning] anchor-is-valid — src/components/Underheader/Underheader.jsx:15
   Use of incorrect `href` for the 'a' element.

24. [warning] anchor-is-valid — src/components/Underheader/Underheader.jsx:18
   Use of incorrect `href` for the 'a' element.

25. [warning] anchor-is-valid — src/components/Underheader/Underheader.jsx:19
   Use of incorrect `href` for the 'a' element.

26. [warning] anchor-is-valid — src/components/Underheader/Underheader.jsx:20
   Use of incorrect `href` for the 'a' element.

27. [warning] anchor-is-valid — src/components/Underheader/Underheader.jsx:21
   Use of incorrect `href` for the 'a' element.

28. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:16
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

29. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:29
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

30. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:33
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

31. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:42
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

32. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:46
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

33. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:54
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

34. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:58
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

35. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:71
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

36. [warning] rendering-svg-precision — src/components/Underheader/Underheader.jsx:75
   SVG transform attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

37. [warning] click-events-have-key-events — src/components/Card/Card.jsx:13
   Enforce a clickable non-interactive element has at least one keyboard event listener.

38. [warning] no-array-index-as-key — src/components/Featuredproduct/Featuredproduct.jsx:91
   Array index "index" used as key — causes bugs when list is reordered or filtered

39. [warning] no-unknown-property — src/page/Productpage/Productpage.jsx:78
   Unknown property found

40. [warning] no-unknown-property — src/page/Productpage/Productpage.jsx:78
   Unknown property found

41. [warning] no-unknown-property — src/page/Productpage/Productpage.jsx:78
   Unknown property found

42. [warning] rerender-functional-setstate — src/page/Productpage/Productpage.jsx:21
   setCount(count + ...) — use functional update to avoid stale closures

43. [warning] rendering-svg-precision — src/page/Productpage/Productpage.jsx:80
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

44. [warning] rendering-svg-precision — src/page/Productpage/Productpage.jsx:83
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

45. [warning] rendering-svg-precision — src/page/Productpage/Productpage.jsx:84
   SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

46. [warning] anchor-is-valid — src/page/Loginpage/Loginpage.jsx:46
   Use of incorrect `href` for the 'a' element.

47. [warning] label-has-associated-control — src/page/Loginpage/Loginpage.jsx:10
   A form label must be associated with a control.

48. [warning] label-has-associated-control — src/page/Loginpage/Loginpage.jsx:19
   A form label must be associated with a control.

49. [warning] design-no-vague-button-label — src/page/Loginpage/Loginpage.jsx:41
   Vague button label "Submit" — name the action ("Save changes", "Send invite", "Delete account") so screen readers and hesitant users know what happens

❌ Errors (1)

no-nested-component-definition

Component "HandleNavigate" defined inside "Card" — creates new instance every render, destroying state

Move to a separate file or to module scope above the parent component

src/components/Card/Card.jsx:7


⚠️ Warnings (48)

rendering-svg-precision

SVG d attribute uses 4+ decimal precision — truncate to 1–2 decimals to shrink markup with no visible difference

Truncate path/points/transform decimals to 1–2 digits — sub-pixel precision adds bytes with no visible difference

src/components/Header/Header.jsx:9
src/components/Header/Header.jsx:13
src/components/Header/Header.jsx:18
src/components/Header/Header.jsx:22
src/components/Header/Header.jsx:36
src/components/Header/Header.jsx:41
src/components/Header/Header.jsx:45
src/components/Header/Header.jsx:52
src/components/Header/Header.jsx:56
src/components/Header/Header.jsx:64
src/components/Header/Header.jsx:68
src/components/Underheader/Underheader.jsx:16
src/components/Underheader/Underheader.jsx:29
src/components/Underheader/Underheader.jsx:33
src/components/Underheader/Underheader.jsx:42
src/components/Underheader/Underheader.jsx:46
src/components/Underheader/Underheader.jsx:54
src/components/Underheader/Underheader.jsx:58
src/components/Underheader/Underheader.jsx:71
src/components/Underheader/Underheader.jsx:75
src/page/Productpage/Productpage.jsx:80
src/page/Productpage/Productpage.jsx:83
src/page/Productpage/Productpage.jsx:84

no-unknown-property

Unknown property found

Use 'clipPath' instead

src/components/Header/Header.jsx:8
src/components/Header/Header.jsx:17
src/components/Header/Header.jsx:40
src/components/Header/Header.jsx:51
src/components/Header/Header.jsx:63
src/components/Underheader/Underheader.jsx:28
src/components/Underheader/Underheader.jsx:41
src/components/Underheader/Underheader.jsx:53
src/components/Underheader/Underheader.jsx:70
src/page/Productpage/Productpage.jsx:78
src/page/Productpage/Productpage.jsx:78
src/page/Productpage/Productpage.jsx:78

anchor-is-valid

Use of incorrect href for the 'a' element.

Provide a correct href for the a element.

src/components/Underheader/Underheader.jsx:14
src/components/Underheader/Underheader.jsx:15
src/components/Underheader/Underheader.jsx:18
src/components/Underheader/Underheader.jsx:19
src/components/Underheader/Underheader.jsx:20
src/components/Underheader/Underheader.jsx:21
src/page/Loginpage/Loginpage.jsx:46

label-has-associated-control

A form label must be associated with a control.

Either give the label a htmlFor attribute with the id of the associated control, or wrap the label around the control.

src/page/Loginpage/Loginpage.jsx:10
src/page/Loginpage/Loginpage.jsx:19

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, or keypress listener.

src/components/Card/Card.jsx:13

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} or key={item.slug} — index keys break on reorder/filter

src/components/Featuredproduct/Featuredproduct.jsx:91

rerender-functional-setstate

setCount(count + ...) — use functional update to avoid stale closures

Use the callback form: setState(prev => prev + 1) to always read the latest value

src/page/Productpage/Productpage.jsx:21

design-no-vague-button-label

Vague button label "Submit" — name the action ("Save changes", "Send invite", "Delete account") so screen readers and hesitant users know what happens

Name the action: "Save changes" instead of "Continue", "Send invite" instead of "Submit", "Delete account" instead of "OK". The label IS the button's accessible name

src/page/Loginpage/Loginpage.jsx:41


Last scored May 14, 2026 at 7:35 AM UTC. Maintained by React Review.

Activity

0

No activity yet.