Day 4 ReactJS Adventures + Distriator Progress: useState, useEffect, and .env Chaos πΉ
π Hello Hive Community!
Another day, another ReactJS rollercoaster! π’
We've been deep-diving into ReactJS while pushing progress on Project Distriator and CheckInWithXYZ πͺ
Letβs rewind βͺ what weβve covered so far:
- π Day One: Fresh React app + AIOHA integration!
- π§ Day Two: Routing drama & rebellious NavBar π€
- π οΈ Day Three: Fixed Layouts, Routing & AIOHA π₯
- Today is Day Four π
π― Today's Goals
- Learn to integrate
.envin React project π - Implement first
useStateποΈ - Try out
useEffect(and totally freak out a little) π΅ - Share Distriator project updates π
π How to Load .env Values in React (Vite-based)
If you're using Vite + React like us, it's super simple π
ποΈ Step 1: Create a .env file
π Donβt forget to put it inside .gitignore
β¨ Prefix all variables with VITE_, like:
VITE_API_KEY=some_key_here
π Access it in your app like this:
import.meta.env.VITE_API_KEY
π How to Use useState
useState lets you track and update values inside functional components π¦
β Step 1: Import it
import { useState } from "react";
β Step 2: Declare a variable
const [businesses, setBusinesses] = useState([]);
In Distriator, we're tracking a list of businesses β so we start with an empty array.
businesses: current valuesetBusinesses: to update the state
Simple & elegant π
π How to Use useEffect (AKA: βWhy is my API Calling TWICE?!β)
Okay... so this one had me like π΅βπ«
I initially wrote:
useEffect(() => {
const fetchedData = async () => {
// some logic to fetch businesses
}
fetchedData();
});
π£ Result: Infinite reload loop! App was like: "I LIVE TO FETCH!"
I panicked, closed the app, went into full bug-hunting mode π΅οΈ
π§ The Fix?
I forgot the dependency array []
useEffect(() => {
const fetchedData = async () => {
// some logic to fetch businesses
}
fetchedData();
}, []); // Important!
But even then... API was hit twice π
π― Removing StrictMode is a fix...
But letβs be real β not the best one!
Turns out, the smarter way is to use AbortController to clean up async functions.
And yeah... itβs a bit weird. π
Letβs move on before I rage-quit π
π¨ Distriator Project Updates
Big win on Distriator today! π
Weβve successfully integrated all rooms of Ati Hotel ποΈ
Deployment is live at: alpha.distriator.com π
βοΈ Screenshot above highlights just one fileβs worth of changes, but the impact is massive!
Tagging @ecoinstant &
@starkerz so you guys can start playing around on the alpha site!
π Thanks for Following Along!
Iβll be back soon with more learnings, bugs, laughs & updates.
Until then β keep building, keep shipping! π»β¨
See you in the next post! π
π Final Note
- I asked ChatGPT/AI to help optimize this post to make it more readable and viewer-friendly.
- Here is the link where you can find both original content & improvements made by AI
- https://chatgpt.com/share/6888bbac-21dc-8000-ba70-26940b53cfe7
π My Contributions to β¦οΈ Hive Ecosystem
| Contribution | To | Hive | Ecosystem |
|---|---|---|---|
| Hive Witness Node | Hive API Node (in progress) | 3Speak Video Encoder Node Operator (highest number of nodes) | 3Speak Mobile App Developer |
| 3Speak Podcast App Developer | 3Speak Shorts App Developer | 3Speak Support & Maintenance Team | Distriator Developer |
| CheckinWithXYZ | Hive Inbox | HiFind | Hive Donate App |
| Contributed to HiveAuth Mobile App | Ecency β 3Speak Integration | Ecency β InLeo Integration | Ecency β Actifit Integration |
| Hive Stats App | Vote for Witness App | HiveFlutterKit | New 3Speak App |
π Support Back
β€οΈ Appreciate my work? Consider supporting @threespeak &
@sagarkothari88! β€οΈ
| Vote | For | Witness |
|---|---|---|
| sagarkothari88 | ||
| threespeak |
Leave Day 4 ReactJS Adventures + Distriator Progress: useState, useEffect, and .env Chaos πΉ to:
Read more #hive posts
Best Posts From Sagar Kothari
We have not curated any of sagarkothari88's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Sagar Kothari
- HiveSuite Dev Update: Rich Activity Insights, Infinite Scroll Improvements & Sidebar Redesign.
- HiveSuite Dev Update: Governance Enhancements, Global Snaps Creation & Platform-Wide New Tab Support.
- HiveReactKit Dev Update: Enhanced Nav, Media Playback & Governance Improvements
- HiveSuite Game Update: Spider Solitaire Added to the Games Collection
- HiveSuite Dev Update: Klondike Solitaire Joins the Games Collection.
- HiveSuite Dev Update: Faster Navigation, Expanded Profile Drawer & Bookmark Experience Improvement.
- HiveSuite Dev Update: Shareable Profile Tabs & Redesigned Profile Drawer Experience
- HiveSuite Dev Update: Smart Mentions, Internal Navigation & Seamless Inline Media Experience.
- HiveReactKit Dev Update: Inline Media Playback, Enhanced Embeds & Cleaner Post Experience.
- HiveReactKit Dev Update: Smart @Mentions, Composer Intelligence & Improved In-App Navigation