इस ट्यूटोरियल में, हम React का उपयोग करके एक एक्सपेंस ट्रैकर वेब एप्लिकेशन बनाएंगे। यह प्रोजेक्ट आपको रिएक्ट में राज्य प्रबंधन, इवेंट हैंडलिंग और गतिशील सूची अपडेट को समझने में मदद करेगा। यह उन शुरुआती लोगों के लिए आदर्श है जो व्यावहारिक और उपयोगी एप्लिकेशन बनाकर रिएक्ट विकास के बारे में अपने ज्ञान को मजबूत करना चाहते हैं।
एक्सपेंस ट्रैकर एप्लिकेशन उपयोगकर्ताओं को अपनी आय और खर्चों पर नज़र रखने की अनुमति देता है। यह आय, व्यय और कुल शेष को वर्गीकृत और गणना करके वित्तीय डेटा को प्रबंधित करने में मदद करता है। यह प्रोजेक्ट राज्य के प्रबंधन और उपयोगकर्ता इनपुट को कुशलतापूर्वक संभालने के लिए रिएक्ट के उपयोग को प्रदर्शित करता है।
प्रोजेक्ट संरचना एक विशिष्ट रिएक्ट प्रोजेक्ट लेआउट का अनुसरण करती है:
├── public ├── src │ ├── components │ │ ├── TransactionList.jsx │ │ ├── TransactionItem.jsx │ │ ├── AddTransaction.jsx │ ├── App.jsx │ ├── App.css │ ├── index.js │ └── index.css ├── package.json └── README.md
यह घटक लेनदेन को प्रदर्शित करने और सभी लेनदेन की स्थिति का प्रबंधन करता है।
import { useState, useEffect } from "react"; import TransactionItem from "./TransactionItem"; const TransactionList = () => { const [transactions, setTransactions] = useState([]); useEffect(() => { const savedTransactions = JSON.parse(localStorage.getItem("transactions")) || []; setTransactions(savedTransactions); }, []); useEffect(() => { localStorage.setItem("transactions", JSON.stringify(transactions)); }, [transactions]); const deleteTransaction = (index) => { const newTransactions = transactions.filter((_, i) => i !== index); setTransactions(newTransactions); }; return (); }; export default TransactionList;Transaction History
{transactions.map((transaction, index) => (
))}
TransactionItem घटक एक व्यक्तिगत लेनदेन का प्रतिनिधित्व करता है, जिसमें इसे हटाने के विकल्प भी शामिल हैं।
const TransactionItem = ({ transaction, deleteTransaction }) => {
const sign = transaction.amount
{transaction.text}
{sign}${Math.abs(transaction.amount)}
);
};
export default TransactionItem;
यह घटक नए लेनदेन जोड़ने का प्रबंधन करता है, जिससे उपयोगकर्ता आय या व्यय डेटा इनपुट कर सकते हैं।
import { useState } from "react"; const AddTransaction = ({ addTransaction }) => { const [text, setText] = useState(""); const [amount, setAmount] = useState(""); const handleSubmit = (e) => { e.preventDefault(); const transaction = { text, amount: amount }; addTransaction(transaction); setText(""); setAmount(""); }; return (); }; export default AddTransaction;Add New Transaction
App.jsx एप्लिकेशन के रूट के रूप में कार्य करता है, TransactionList और AddTransaction घटकों को प्रस्तुत करता है।
import { useState } from "react"; import TransactionList from './components/TransactionList'; import AddTransaction from './components/AddTransaction'; import './App.css'; const App = () => { const [transactions, setTransactions] = useState([]); const addTransaction = (transaction) => { setTransactions([...transactions, transaction]); }; return (); }; export default App;Expense Tracker
Made with ❤️ by Abhishek Gurjar
सीएसएस सुनिश्चित करता है कि एप्लिकेशन साफ और उपयोगकर्ता के अनुकूल दिखे।
body { font-family: Arial, sans-serif; background-color: #f4f4f4; } .app { width: 400px; margin: 50px auto; background-color: #fff; padding: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } h1 { text-align: center; } input { width: calc(100% - 10px); padding: 5px; margin-bottom: 10px; } button { width: 100%; padding: 10px; background-color: #007BFF; color: #fff; border: none; cursor: pointer; } button:hover { background-color: #0056b3; } .transaction-list ul { list-style: none; padding: 0; } .transaction-list li { background-color: #f9f9f9; margin: 5px 0; padding: 10px; border-left: 5px solid green; } .transaction-list li.expense { border-left: 5px solid red; } .transaction-list span { float: right; } button { float: right; background-color: red; color: white; padding: 5px; } .footer{ text-align: center; margin: 40px; }
आरंभ करने के लिए, रिपॉजिटरी को क्लोन करें और निर्भरताएं स्थापित करें:
git clone https://github.com/abhishekgurjar-in/expense-tracker.git cd expense-tracker npm install npm start
एप्लिकेशन http://localhost:3000 पर चलना शुरू हो जाएगा।
यहाँ व्यय ट्रैकर का लाइव डेमो देखें।
एक्सपेंस ट्रैकर प्रोजेक्ट दर्शाता है कि रिएक्ट में सूचियों और स्थिति को प्रभावी ढंग से कैसे प्रबंधित किया जाए। यह सीखने का एक शानदार तरीका है कि लोकलस्टोरेज का उपयोग करके लगातार डेटा स्टोरेज के साथ गतिशील एप्लिकेशन कैसे बनाएं।
अभिषेक गुर्जर एक समर्पित वेब डेवलपर है जो व्यावहारिक और कार्यात्मक वेब एप्लिकेशन बनाने का शौक रखता है। GitHub पर उनके और प्रोजेक्ट देखें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3