diff --git a/CODING_STANDARDS.md b/CODING_STANDARDS.md index 86b7e1f18..478fdd193 100644 --- a/CODING_STANDARDS.md +++ b/CODING_STANDARDS.md @@ -75,6 +75,8 @@ Remember, these rules are here to make our codebase harmonious. If something doe - Avoid: `import * as React from "react";` then `React.useCallback(...)` - Add `data-testid` to testable elements for Playwright - Co-locate utilities that are truly component-specific next to the component, otherwise place shared items under a common folder +- Avoid mixed controlled and uncontrolled state in React components. A component is either controlled or uncontrolled. State needs a single source of truth instead of being computed by props and then recomputed internally. +- SHOULD: Use derived state variables instead of adding unneeded `React.useState` / `useState` hooks. ## Readability and Abstractions