Skip to main content

10 Must-Know React Tricks for Beginners

 


It’s 2 AM, your code should work, but your component just stares back at you like a smug cat that knows you’re the problem.

You Google, Stack Overflow, maybe even beg ChatGPT (hey, we’ve all been there) — but nothing clicks.

I’ve been there. We all have.

But here’s the thing: professional React devs have a stash of sneaky tricks. Little power moves that make code cleaner, bugs rarer, and life easier.

They don’t teach these in tutorials. You only learn them in the trenches — or right here, if you’re lucky.

Let’s crack open the toolbox.


Photo by Lautaro Andreani on Unsplash

1. Use useRef For More Than Just DOM Access


Most beginners think useRef is just for grabbing DOM nodes. Cute.

const countRef = useRef(0);
useEffect(() => {
countRef.current++;
console.log('Rendered', countRef.current, 'times');
});

Boom. Now you’re tracking renders without triggering re-renders.

useRef Is your secret state that doesn't rerender the component? Like keeping a diary, your parents can’t…

Stop using useState for things that don’t affect UI. It’s overkill and slows things down.


2. Memoize Like You Mean It


If your app is slower than a snail on a treadmill, your components are probably re-rendering unnecessarily.

const memoizedValue = useMemo(() => computeHeavyStuff(data), [data]);

Or better yet:

const MyComponent = React.memo(({ data }) => {
// clean and mean
});

Sarcastic Truth Bomb: If you’re not memoizing, you’re just flexing how much CPU you can waste.


3. Destructure Props Like a Boss


Tired:

function Button(props) {
return <button>{props.label}</button>;
}

Wired:

function Button({ label }) {
return <button>{label}</button>;
}

Cleaner, shorter, and more readable. Destructuring is free readability. Use it.

4. Colocate State and Logic


Stop scattering state like breadcrumbs across files. Keep the state close to the component that needs it.

Why? Because debugging a component with state managed 3 parents up is like fixing a car through the exhaust pipe.

5. Short-Circuit Rendering FTW


{isLoggedIn && <Dashboard />}

No need for clunky ternaries:

{isLoggedIn ? <Dashboard /> : null}

Unless you like writing extra code for no reason.

6. Conditional ClassNames Like a Pro


Ever seen this mess?

className={isActive ? 'btn active' : 'btn'}

Try this instead:

npm install classnames
import classNames from 'classnames';
className={classNames('btn', { active: isActive })}

Pro Move: Clean, scalable, readable.


7. Avoid Anonymous Functions in JSX


<button onClick={() => doSomething()}>Click</button>

Looks fine… until you realize it creates a new function every render.

Do this:

function handleClick() {
doSomething();
}
<button onClick={handleClick}>Click</button>

Think Ahead: Performance isn’t an issue — until it is.


8. Know When to Use Context — and When NOT To


Context is powerful. Also dangerously overused.

Use it for themes, auth, and language. Don’t use it to pass everything everywhere. That’s prop drilling in disguise.

If your context is 5 levels deep and triggers 10 renders when one value changes — you messed up.


9. Custom Hooks = Your Superpower


function useLocalStorage(key, initialValue) {
const [value, setValue] = useState(() => {
const item = window.localStorage.getItem(key);
return item ? JSON.parse(item) : initialValue;
});
useEffect(() => {
window.localStorage.setItem(key, JSON.stringify(value));
}, [key, value]);
  return [value, setValue];
}

Reusability. Clean code. Fewer bugs. What’s not to love?

10. Lint Like a Lunatic


Install ESLint. Use Airbnb’s config. Set your editor to scream at you when you write bad code.

npx eslint --init

Real Talk: Linting catches 80% of dumb mistakes before they hit production.


Finally, React Doesn’t Suck — Your Habits Might


React isn’t hard. What’s hard is unlearning bad habits and leveling up your thinking. These 10 tricks? They’re just the tip of the iceberg.

Got your hot take? Angry disagreement? Mild appreciation?

Drop a comment. Smash that clap. Or roast me in the replies. Just don’t walk away without sharing your thoughts.


Stay curious, stay sarcastic, and keep building.

Don’t keep it to yourself. Share it with your team and level up together!



Comments

Popular posts from this blog

Sharpen Your Front-End Skills: Quick HTML, CSS & React Interview Challenges

  The source of this image is Chat GPT based on writing! Are you preparing for front-end developer interviews and looking for practical, hands-on ways to improve your HTML, CSS, and React skills? Whether you’re a beginner aiming to build confidence or an experienced developer brushing up on UI skills, small, targeted challenges can make a huge difference. In this article, I’ll walk you through some of the best free and low-cost resources that offer real-world front-end tasks — perfect for interview prep, portfolio building, and daily practice. 1. Frontend Mentor frontendmentor.io Frontend Mentor is one of the most popular platforms for hands-on HTML, CSS, and JavaScript challenges. You get beautifully designed templates (in Figma or image formats) and are asked to bring them to life using clean code. The platform offers difficulty levels ranging from newbie to expert, and it’s perfect for practicing responsiveness and semantic HTML. Bonus : You can even filter for React-based ...

React Native vs React JS — Key Difference, Advantages-Disadvantages, Limitations

  React Native vs React JS — Key Difference, Advantages-Disadvantages, Limitations React JS It is a JavaScript library that supports each face and server-side. It’s a popularly used library that focuses on developing user interfaces for mobile and internet-primarily based applications. React Native It is a cross-platform mobile framework that uses the ReactJS framework. It’s primarily used for developing native mobile applications like Windows, iOS and mechanical man. The major advantage provided by React Native is that it permits the developers to form mobile applications on varied platforms while not compromising the tip user’s expertise. Components of React JS Components of React Native Basic parts View — it is the essential building block of internet applications. Text — It helps to point out the text. The text element contains nesting, styling, and bit handling. Image — this is often a React element for showing multiple footages like network pictures and static resources. Text...

Difference Between Three.js and Babylon.js: What Actually Should You Choose?

You don’t have to be just a graphic designer to create interactive designs. You can be a coder and still create visually appealing and eye-catching games. All thanks to JavaScript. The first cross-browser JavaScript library–three.js–that can create 3D computer graphics was first released on 24 April 2010 by Ricardo Cabello. He first wrote the code in ActionScript language, which was then used by Adobe Flash. But then in 2009, he ported the code to JavaScript. Previously, people used WebGL. But the problem was its limitation: it can create only simple pointers and lines. Ricardo, instead of abandoning WebGL as something that is futile, used it to his own advantage. He built three.js on top of WebGL. This renders three.js to create 3D graphics in the browser. Even a 3D scene can be created easily using Canvas and WebGL now. But then in 2013, Babylon.js was created. But why? Why did its creators, Microsoft and David Catuhe, make something that another JavaScript library–three.js –was alre...