smalljs$molঅনুসন্ধান⌘ Kডকুমেন্টেশনপ্লেগ্রাউন্ডতুলনাইকোসিস্টেমসম্পর্কেBN
স্টেট ও রিয়্যাক্টিভিটিGetting Startedপরিচিতিমানসিক মডেলশুরু করাTypeScript থেকে view.treeপ্রকল্পের কাঠামোটুলিংEssentialsইনস্টলেশনভিউস্টেট ও রিয়্যাক্টিভিটিরাউটিংরেন্ডারিংটেস্টিংডিপ্লয়সমস্যা সমাধানDataডেটা ফেচিংডেটা স্কিমাGiper BazaMoreশোকেসReact, Vue ও Svelte থেকেকুকবুকAdvancedপ্লাগইনমডিউল মেটাডেটাঅফলাইনগোস্ট ভিউAboutসাধারণ জিজ্ঞাসাটিমরিলিজAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

স্টেট ও রিয়্যাক্টিভিটি

$mol-এর স্টেট স্প্রেডশিটের মতো আচরণ করে: আপনি ঘোষণা করেন একটি মান কীভাবে গণনা হবে, আর তার ওপর নির্ভরশীল সবকিছু নিজে থেকেই আপডেট হয়। কোনো স্টোর নেই, ডিসপ্যাচ নেই, ইফেক্ট হুক নেই——ডিপেন্ডেন্সি গ্রাফ কী পুনরায় গণনা করতে হবে তা ট্র্যাক করে।

রিয়্যাক্টিভ প্রপার্টি

@ $mol_mem দিয়ে ডেকোরেট করা একটি মেথড হলো একটি ক্যাশড, রিয়্যাক্টিভ সেল। এটি একবার চলে, ফলাফল মনে রাখে, এবং শুধু তখনই পুনরায় গণনা করে যখন এটি যা পড়েছিল তার কিছু পরিবর্তিত হয়।1namespace $.$$ {2 export class $my_counter extends $.$my_counter {3 @ $mol_mem count() { return 0 }4 5 @ $mol_mem doubled() {6 return this.count() * 27 }8 }9}doubled count পড়ে, তাই এটি স্বয়ংক্রিয়ভাবে count-এ সাবস্ক্রাইব করে। count পরিবর্তন করুন, আর doubled দেখানো প্রতিটি ভিউ রিফ্রেশ হয়——হাতে কিছু সাবস্ক্রাইব করার নেই।

পড়া ও লেখা

একটি প্রপার্টি একই সঙ্গে গেটার ও সেটার: পড়ার জন্য আর্গুমেন্ট ছাড়া কল করুন, লেখার জন্য একটি আর্গুমেন্ট সহ।1@ $mol_action2increment() {3 this.count( this.count() + 1 )4}

অ্যাকশন বনাম গণনা

এই একটি পার্থক্যই রিয়্যাক্টিভ কোডকে অনুমেয় রাখে:@ $mol_mem হলো একটি বিশুদ্ধ গণনা——শুধু অন্য সেল পড়ে এবং একটি মান রিটার্ন করে।@ $mol_action হলো একটি ইফেক্ট——স্টেটে লেখা, নেটওয়ার্ক কল ও টাইমার এখানে থাকে।@ $mol_mem-এর ভেতর থেকে একটি সেলে লিখলে একটি ফিডব্যাক লুপ তৈরি হয় (লেখা একটি ডিপেন্ডেন্সি অকার্যকর করে, যা পুনরায় গণনা হয়, যা আবার লেখে)। $mol একে সার্কুলার সাবস্ক্রিপশন হিসেবে রিপোর্ট করে। সমাধান সবসময় একই: সাইড ইফেক্ট অ্যাকশনে রাখুন, গণনা বিশুদ্ধ রাখুন।@ $mol_mem-এ আপনি পারেনকিন্তু পারেন নাবোতামের হ্যান্ডলার বেস ক্লাসে @ $mol_mem হিসেবে জেনারেট হয়; নিরাপদে লেখার জন্য সেগুলোকে @ $mol_action দিয়ে ওভাররাইড করুন:1@ $mol_action2submit() {3 this.saved( true )4}

উদ্ভূত স্টেট কম্পোজ হয়

যেহেতু ডিপেন্ডেন্সি স্বয়ংক্রিয়ভাবে ট্র্যাক হয়, উদ্ভূত মানগুলো কোনো তারের সংযোগ ছাড়াই চেইন হয়। প্রতিটি আগেরটি পড়ে; মূলে একটি পরিবর্তন ঠিক যতটুকু প্রয়োজন ততটুকুই ছড়িয়ে পড়ে:1@ $mol_mem full_name() {2 return `${ this.first() } ${ this.last() }`.trim()3}4 5@ $mol_mem greeting() {6 return this.full_name() ? `Hello, ${ this.full_name() }!` : 'Hello!'7}
GitHub-এ এই পৃষ্ঠা সম্পাদনা করুনএটি কি সহায়ক ছিল?হ্যাঁনাপূর্ববর্তীভিউপরবর্তীরাউটিং
এই পৃষ্ঠায়রিয়্যাক্টিভ প্রপার্টিপড়া ও লেখাঅ্যাকশন বনাম গণনাউদ্ভূত স্টেট কম্পোজ হয়কী-যুক্ত স্টেটঅ্যাসিঙ্ক শুধুই একটি মানইভেন্টের মধ্যে ক্ষণস্থায়ী স্টেটপরবর্তী
Type to search the documentation.