-
-
Notifications
You must be signed in to change notification settings - Fork 32
React Import Best Practices
Harald Walker edited this page Jan 14, 2026
·
1 revision
import React, { useState, useEffect, useCallback } from "react";
function MyComponent() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log(count);
}, [count]);
return <div>{count}</div>;
}import React from "react";
function MyComponent() {
const [count, setCount] = React.useState(0); // β Don't use React.useState
React.useEffect(() => {
// β Don't use React.useEffect
console.log(count);
}, [count]);
return <div>{count}</div>;
}// Hooks
import React, {
useState, // State management
useEffect, // Side effects
useCallback, // Memoized callbacks
useMemo, // Memoized values
useRef, // Refs
useContext, // Context consumption
useReducer, // Complex state
} from "react";
// Components & Utilities
import React, {
Component, // Class components
lazy, // Code splitting
Suspense, // Loading fallback
Fragment, // <> shorthand
Children, // Children utilities
createRef, // Refs for class components
} from "react";
// Types (TypeScript)
import React, {
FC, // Functional Component
ReactNode, // React node type
ReactElement, // React element type
} from "react";- Cleaner Code: Direct imports are more readable
- Better Tree-Shaking: Bundlers can optimize better
- Modern Standard: Aligns with React 17+ best practices
- Fewer Warnings: Keeps ESLint happy
- Future-Proof: Ready for React 18 and beyond
Join the Slack for the most up to date discussion on Climate Connect work.