Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Expo Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Expo Intro
  • Expo vs React Native
  • RN Basics
  • Environment Setup
  • Project Setup
  • Project Structure
  • App Config
  • Expo Router Intro
  • Stack Navigation
  • Tabs Navigation
  • Core Components
  • Styling & Flexbox
  • Safe Area
  • Scroll & Lists
  • Forms & State
  • AsyncStorage
  • Project: Task Actions
  • Project: Screens
  • Images & Assets
  • Icons & Fonts
  • Theming
  • Camera & Picker
  • Notifications
  • Location & Maps
  • SQLite
  • API & Fetch
  • Loading & Errors
  • Secure Store & Auth
  • Auth Session
  • AppState & Network
  • Performance
  • Debugging & Tests
  • Config & Env
  • Splash & Updates
  • EAS Build
  • EAS Update
  • Store Submission
  • Common Mistakes
  • Best Practices
  • Interview Questions
  1. Docs
  2. Expo
  3. TaskTrack — add, toggle, delete (pure helpers)
ExpoIntermediate

TaskTrack — add, toggle, delete (pure helpers)

TaskTrack-এর core logic — pure function দিয়ে state update।

5টি অংশবাংলা ভাষায়

TaskTrack-এর heart — add / toggle / delete। নিয়ম: pure helper function। lib/tasks.ts:

lib/tasks.tsts
ts
export type Task = {
  id: string;
  title: string;
  done: boolean;
  createdAt: string;
};

export function makeTask(title) {
  return {
    id: Date.now().toString(),
    title,
    done: false,
    createdAt: new Date().toISOString(),
  };
}

export function addTask(list, title) {
  return [makeTask(title), ...list];
}

export function toggleTask(list, id) {
  return list.map((t) => (t.id === id ? { ...t, done: !t.done } : t));
}

export function deleteTask(list, id) {
  return list.filter((t) => t.id !== id);
}

helper-গুলো pure — আগের list-কে mutate না করে নতুন array return করে। component-এ ব্যবহার:

const [tasks, setTasks] = useState<Array<Task>>([]);

function handleAdd(title) {
  setTasks((prev) => {
    const next = addTask(prev, title);
    saveTasks(next);
    return next;
  });
}
id-এর গুরুত্ব

stable id-ই key, toggle, delete — সব operation সহজ রাখে। Date.now() dev demo-তে চলবে; production-এ UUID ব্যবহার ভালো।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরAsyncStorage — অ্যাপ বন্ধ করে data বাঁচানোপরেরTaskTrack — Today screen ও TaskItem component
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com