 Semua orang yang mempunyai apa yang ada di sini bukan mempunyai apa yang ada di sini Jadi, penyanyi kita di sini hanya untuk saya sendiri Dan tidak mempunyai apa yang mempunyai di sini Sebenarnya, saya ingin beritahu dia sekejap lagi Kerana pada bulan yang terakhir, keadaan ini membantu mempunyai apa yang ada di sini Dan ia sangat mempunyai apa yang ada di sini Jadi, hari ini, saya sebenarnya tidak mempunyai banyak penyanyi Jadi, ini adalah satu perkara yang semua orang selalu beritahu apabila saya bercakap Kerana mempunyai apa yang ada di sini bukan mempunyai apa yang ada di sini Kerana semua orang selalu beritahu bahawa ia baik Dan kemudian kita mempunyai beberapa penyanyi yang dibuat Ia tidak begitu baik, saya boleh beritahu Jadi, hari ini, apa yang saya akan lakukan adalah memperkenalkan kepada anda Untuk penyanyi saya sendiri Dan ini adalah perkara yang sama yang saya telah mempunyai untuk kamu dan saya Dan secara segera, mari kita berjumpa dengan ini dengan cepat Okey, kenapa kita mempunyai 3 penyanyi? Jadi, ada sesiapa yang berjumpa di sini dengan reaksi reaksi? Jadi, beberapa penyanyi Jadi, anda mungkin tahu apa reaksi reaksi di sini Dan kemudian, anda pernah beritahu bagaimana reaksi reaksi reaksi di sini? Okey, betul-betul, perkara yang sama Jadi, selama beberapa tahun, saya telah mencuba sebuah penyanyi Jadi, NBVM dan NBP mencuba semuanya Dan di my opinion, tidak begitu baik Kerana, anda melakukannya terlalu banyak, terlalu sedap Jadi, semua orang tahu NBC dari baik Tapi, apa yang terjadi? Kenapa saya katakan bahawa pembinaan lain tidak baik? Kerana, pada masa itu, anda mempunyai banyak penyanyi Terlalu banyak penyanyi Untuk mempunyai peluang kecil Jadi, dengan tidak, apa yang anda boleh lakukannya adalah Anda hanya akan mempunyai dua penyanyi Jadi, anda akan mempunyai perasaan dan anda dapat mempunyai penyanyi Dan mereka akan menjadi berkumpul untuk berdua Dan sejak ia adalah penyanyi pembinaan, ia sangat mengalami Maksudnya, anda dapat mengalami penyanyi dengan penyanyi Untuk mempunyai penyanyi, menjadikan penyanyi Untuk semua penyanyi Jadi, saya selalu ingin melakukannya dengan satu penyanyi Jadi, bagi sesiapa yang tidak tahu apa yang menjadikan Biasanya, ia mempunyai tiga komponen Biasanya, ia hanya penyanyi pembinaan yang mudah Jadi, sekarang kita mempunyai penyanyi Untuk mempunyai penyanyi yang mudah Dan kemudian kita mempunyai penyanyi Dan kemudian kita mempunyai penyanyi Jadi, apa yang Rida kata adalah Bagaimana anda dapat melakukannya? Anda dapat menghubungi pembinaan untuk menjadikan Kami akan kata, saya menghubungi pembinaan yang disebut Tetapi anda tidak mengharapkan bagaimana ia telah dilakukan Saya tidak akan mempunyai bagaimana pembinaan itu telah dilakukan dengan pembinaan Kecuara kedua dalam pembinaan Ia bertunang sebut Kecuara itu adalah pembinaan baik yang berlalu Untuk keadaan yang terdapat Dan kemudian pembinaan yang terdapat Untuk keadaan yang baru Jadi, saya mengatakan Pembinaan saya adalah engkauan yang baik Dan ini adalah keadaan yang baik Dan apa yang pembinaan saya kata Semasa setiap kali saya mengambil pembinaan yang baik 1, saya akan mempunyai value ini dengan 1. Jadi, sejak kita mempunyai kecuali fungsi kita, kita dapat memperbaiki kecuali-kecuali ini dengan mudah. Jadi, kita tidak patut memodifikasi kecuali-kecuali dengan tidak mudah. Jadi, kita selalu perlu menjadi mudah supaya kita tidak mempunyai kecuali kecuali kecuali. Sejak periksaan mempunyai kecuali-kecuali, setiap kali kecuali-kecuali, periksaan akan mengambil kecuali-kecuali. Jadi, semua orang dapat periksaan ini? Sangat sedap, hanya 3 kumpulan. Jadi, ia seperti kekacauan yang berlaku. Periksaan, kecuali-kecuali, periksaan mengambil kecuali-kecuali dan mengambil kecuali-kecuali mengambil kecuali-kecuali di dalam kuali-kecuali ini. Dan kemudian, kita mengambil kecuali-kecuali kecuali-kecuali kecuali-kecuali di dalam kuali-kecuali ini. Dan saya rasa anda akan melihat kecuali-kecuali di dalam kuali-kecuali ini. Dan itu sebabnya, saya bermakna, itu selalu kecuali-kecuali. Jadi, apa yang saya akan lakukan di sini, adalah aplikasi yang sangat mudah. Apa yang saya lakukan? Bagaimana saya lakukan kecil ini? Baiklah. Jadi, di aplikasi ini, apa yang saya lakukan di sini, adalah saya akan mempunyai satu kuali-kecuali dan satu kuali-kecuali. Apa yang saya akan lakukan, setiap kali saya mencari kuali-kecuali ini, ia akan mencari kuali-kecuali ini untuk kuali-kecuali musik dengan banyak nama. Dan di sini, tiada logik lagi, kerana anda melihat bagaimana banyak kali yang berlaku dan apa-apa pun yang berlaku, kuali-kecuali ini tidak berubah kecuali-kecuali. Jadi, mari kita pergi. Kuali-kecuali yang pertama dari kuali-kecuali ini, adalah bahawa ia mempunyai subkripsi otomatis. Jadi, jika anda pernah melihat aplikasi sekarang seperti R&D, jadi apa yang mereka lakukan, adalah mereka akan mempunyai kuali-kecuali ini dan itu tidak berbeda daripada pusat notifikasi, tetapi apa yang saya akan berikan kepada anda adalah subkripsi otomatis yang akan berlaku ke kuali-kecuali. Bagi saya katakan kuali-kecuali Itunes, dan ini adalah kuali yang akan saya mengejar keadaan anda. Dan saya akan mempunyai autokompat untuk memperbaiki aplikasi progres dan aplikasi progres akan terdapat pada kuali-kecuali ini. Dan anda tidak dapat melihat, tetapi saya tidak ada logik. Saya perlu melihat aplikasi. Plikasi aplikasi akan menjelaskan apa-apa saja aplikasi yang saya ada. Dan keadaan ini, tidak terlalu penting. Jadi perkara pertama yang saya lakukan adalah bahawa saya akan mempunyai dua aplikasi. Pertama, seperti yang saya beritahu sekarang, setiap kali perubahan berubah, anda akan menerima aplikasi. Tetapi anda tidak akan mempunyai segalanya di dalam kontainan. Kerana anda tidak mahu mengalami itu, kerana jika anda mempunyai keadaan yang besar, jika anda mengalami keadaan yang besar dan anda mempercayai keadaan yang besar, anda akan mempercayai keadaan yang besar. Jadi pertama yang anda akan mempercayai adalah aplikasi dan aplikasi. Saya akan menyebabkan aplikasi. Aplikasi. Aplikasi mengungkinkan dua perkara. Plikasi dan aplikasi. Plikasi adalah sesuatu seperti yang berguna. Plikasi akan menjadi sesuatu seperti yang berguna dengan sesuatu. Ya. Jadi aplikasi di sini saya akan menggantikan aplikasi ke aplikasi yang besar. Yang adalah di mana saya akan mempercayai pelajaran kedua saya. Ya. Jadi aplikasi yang besar ini saya mahu melihat saya mahu mempunyai aplikasi yang besar untuk mempunyai keadaan yang besar yang besar kerana saya perlu mempercayai beberapa aplikasi yang besar dan keadaan yang besar dan apakah atau tidak kita mempercayai data supaya saya mahu mempercayai progres. Ya. Dan kemudian untuk aplikasi, saya mahu mempunyai hanya satu aplikasi yang mempercayai aplikasi. Jadi setelah saya mempercayai di sini saya akan mempercayai aplikasi untuk aplikasi yang besar. Saya mahu mempercayai aplikasi yang besar untuk aplikasi yang besar. Dan kemudian mempercayai aplikasi. Okey. Dan kemudian kamu akan perlu mempercayai semua ini. Jadi apabila kamu mempercayai aplikasi yang besar, kamu perlukan mendapat aplikasi yang besar. Ini adalah aplikasi yang begitu penting. Dan apabila kamu mempercayai aplikasi yang besar, saya akan mempercayai aplikasi yang besar. Jadi apabila saya disebut Saya akan menangis perang di sini. Kemudian anda lihat perang yang digunakan di sini. Setiap kali saya mengambil perang, saya akan membangun perang. Saya juga akan membangun perang. Dan ia dapat kelihatan semuanya. Adakah ia masih disambung? Baiklah, perangnya masih disambung. Jadi, seperti yang anda lihat, ini adalah perang global. Perang global akan mempunyai perang autofap. Perang autofap, perang autofap dan perang i2. Perang autofap i2 adalah apa-apa saja yang saya akan membangun. Perang autofap akan mengawal perang i2 dan perang i2 akan mengawal perang data yang diperlihatan di dalam perang ini. Dan keadaan ini menolakkan cara untuk membantu saya mengubah perang tanpa mengubahnya. Jadi, seperti yang anda lihat, setiap kali saya mengubah perang, saya akan mengubah perang tanpa mengubahnya. Dan ini akan menjadi semua panggilan yang kita perlukan. Jadi, kita perlukan 3 panggilan. Perang autofap, perang autofap dan perang i2. Jadi, pada perang yang saya beritahu anda pada satu panggilan, setiap kali saya mengubah perang autofap, ia akan mengubah panggilan untuk mengubahnya. Saya hanya mengubah perang ini ke dalam perang saya. Untuk memilih perang, tolong mengubah perang yang di luar bunuh untuk mengubah. Saya akan mengubah perang ini ke dalam perang yang di luar bunuh. Kali pertama, anda perlu sebenarnya memulakan panggilan. Sebelum mencuci kota ini, saya melakukan sesuatu yang lebih mudah. Semua yang saya lakukan adalah memadai pengawasite yang menerima perang, dan kemudian Dan ini akan menjadi penguatan. Jadi seperti yang saya beritahu, perluak penguatan akan mengambil perusahaan yang terbelar, yang adalah perawatan pertama, mengambil perusahaan yang terbaru, perawatan kedua, untuk mengambil perusahaan yang baru. Dan kemudian anda lihat di sini, semua perawatan untuk dikatakan di sini yang kita perlukan, yang kita tersendirian. Kali yang saya katakan, jika saya bawa perusahaan yang selesa, saya akan mengambil perusahaan yang selesa dengan perusahaan yang selesa, dan segalanya. Sebab itulah saya beritahu bahawa mempunyai penggunaan penggunaan penggunaan yang besar adalah jauh-jauh-jauh. Kerana semua yang anda perlu lakukan adalah menjadikan sesuatu yang tidak dikatakan. Dan menjadikan apa-apa saja yang dikatakan. Dan anda perlu menjadikan apakah keputusan yang dikatakan menyebabkan keputusan ini. Jadi mari kita lihat. Tapi anda tidak boleh mempunyai keputusan otomatis tanpa harga. Yang terkejut di sini adalah anda akan mempunyai untuk menggunaan kontrolan navigasi anda dengan kota ini. Jadi dalam kontrolan kontrolan navigasi, ada sebuah kota yang penting, kami akan menunjukkan kontrolan anda. Dan untuk semua kontrolan anak yang mengambil kontrolan ini, saya akan mempunyai keputusan untuk itu dengan kontrolan anda di sini. Dan saya akan melakukan sebuah kontrolan yang benar adalah sesuatu yang membantu anda mengandalkan semua keputusan. Dan ia mempunyai kontrolan ini. Dan kemudian selepas kontrolan ini, kontrolan ini akan sudah mempunyai keputusan otomatis. Jadi semua ini akan dikatakan. Dan mari kita lihat. Jadi jika anda mempunyai RX5 sebelumnya, ini adalah suatu bahagian yang sama seperti sebuah bahagian yang berlaku. Ini bermakna, semasa anda mempunyai RX5, anda akan mempunyai keputusan otomatis. Jadi ini untuk memastikan bahawa semua orang yang mempunyai RX5 akan mempunyai keputusan otomatis. Bagaimana jika mereka tidak mempunyai keputusan otomatis dari mereka. Jadi itu sebabnya, apabila saya melihat di sini, anda akan melihat bahawa rata-rata yang menarik. Dan kemudian anda akan melihat bahawa rata-rata ini menarik. Kerana pada rata-rata pertama, ada sesuatu di sana, ya? Jadi, mari kita pergi. Jadi saya juga perlu menambahkan bahagian ID untuk mengubah bahagian. Jadi di bahagian ID ini adalah keadaan RX5 yang berlaku. Jadi apa yang anda lakukan di sini adalah anda menghiasi keadaan RX5 yang ditambah di sini. Jadi apabila anda menghiasi keadaan RX5, apa yang anda lakukan adalah anda mempunyai keadaan RX5 untuk mengubah bahagian. Anda akan mengubah bahagian, kerana keadaan RX5 adalah fungsi, apa yang anda lakukan adalah anda akan mengubah bahagian yang berlaku pada bahagian itu. Baiklah. Terima kasih. Pertama. Ya. Jadi selepas anda mengubah bahagian, anda mengubah bahagian di sini. Ia mengubah, ia mengubah dan mengubah bahagian dan mengubah bahagian dan mengubah bahagian. Baiklah. Baiklah. Jadi apabila anda mengubah bahagian di sini, walaupun ia berlaku seperti tiada apa-apa yang telah dilakukan, tetapi ia sebenarnya mengubah bahagian keadaan RX5 untuk apa-apa saja yang anda mengubah bahagian. Jadi di RX5 kita mengubah bahagian ini untuk mengubah bahagian, tetapi kita tidak mempunyai sebuah konsep seperti itu di RX5. Jadi ini hanya untuk demonstrasi. Tapi saya bermakna jika ia berhenti di sini, tidak ada apa-apa yang berbeza daripada sebuah keadaan RX5. Jadi keadaan RX5 ini mengubah bahagian, ia mengubah bahagian untuk anda melakukan kerja asyik. Dan tanpa anda mempunyai sebuah keadaan RX5, apabila keadaan RX5 digunakan dalam keadaan RX5, ia akan selalu digunakan keadaan RX5. Tapi apa-apa pun yang anda lakukan asyik, akan selalu digunakan keadaan RX5. Jadi itu sebabnya anda lihat di sini, online terset estos cara одной-boards asíkan apa yang anda boleh lakukan di sini. Anda mengubah bahagian contoh sebayang, oh ia menyebabkan celapan, saat anda men littek dan mencoba. Saya mengangkat dengan apa yang anda mahu. Saya speak denganlah deceived, so , jika anda surrealiti perubahan di keadaanいて, dan cuba mempercayai u-i-games Pada teman lain, dengan Uber atau Rips, mereka membuat banyak perkara untuk cuba mempercayai Tetapi, saya mengatakan bahawa anda ingin mempercayai Cuma mempercayai, tidak cuba mempercayai kerana anda akan selalu berada di belakang permainan Jadi, mari kita kembali Mari kita kembali ke atas kerja Untuk sekarang, apa-apa saja kerja asyik yang telah dibuat di sini ia hanya sebuah ruang yang berlaku lebih daripada itu dan mempercayai supaya ia mempercayai dengan pakaian yang digunakan Jadi, jika anda melihat di atas kerja ini, ia adalah pakaian yang berlaku kerana ia adalah pakaian yang unidirektional yang membuatnya sempurna untuk anda mempercayai pakaian Mari kita kata, saya mempercayai pakaian yang digunakan Jika saya dapat sesuatu Hislo, lainnya, mungkinál yang lain Saya akan menyelamatkan betul-betul Seperti di dalam tersebut saya akan menyelamatkan haar visitantika di sini adalah itu Selepas saya melakukannya, saya mengambil alasan kembali. Yang ini mencari lagi dan kembali. Jadi dalam kes ini, apa yang saya cuba lakukannya adalah setiap kali saya mengambil alasan kembali, saya akan memperkenalkan alasan. Alasan daripada musik di Apple Store. Selepas saya mendapat alasan kembali, saya akan mengeluarkan alasan ke global state dan alasan global state akan mengambil alasan kembali kepada pengawasan saya. Okey, mari saya menunjukkan. Jadi, ini sebuah konsep yang ditunjukkan tanpa alasan kembali. Tanpa alasan kembali adalah quite popular, quite popular library in React, tapi kita tidak mempunyai apa-apa seperti itu diperkenalkan. Mari saya menyebabkan semua ini. Okey. Dari yang pertama, saya tidak fikir sesiapa-siapa faham apa yang berlaku, tetapi kita menggunakan. Okey, saya akan menyebabkan sesuatu. Saya mengambil konsep ini daripada kembali untuk React, tetapi secara secara tersebut dari Express.js. Jadi, yang kita berlaku adalah kita dapat menghasilkan alasan kembali untuk mengubah alasan dan respons. Di dalam kes ini, apa yang kita lakukan, sama. Jadi, kita dapat mengubah alasan kembali dengan alasan kembali. Jadi, saya tidak akan menyebabkan itu. Jadi, setiap kali, alasan kembali apa yang kita lakukan, ia dapat mengubah alasan kembali. Setiap kali kita mengubah alasan, alasan kembali mempunyai alasan kembali. Sebab itulah, ada sesuatu yang dipanggil alasan kembali untuk mengubah alasan kembali. Alasan kembali adalah kerja alasan kembali. Jadi, nama sana tidak akan berlaku apa-apa lagi. Anda dapat mempertimbangkannya seperti alasan kembali. Jadi, ini model alasan kembali yang dibina pada RxWip. Okey, mari kita pergi ke alasan kembali. Saya akan berkata, ada sesiapa yang menggunakan alasan kembali sebelumnya? Sangat penting. Jadi, selanjutnya, ini adalah operator alasan kembali. Selanjutnya, alasan kembali sama seperti alasan kembali. Jadi, apa yang ia berlaku, ia akan memberikan alasan kembali. Saya akan berkata, setiap kali saya mengubah alasan kembali, seperti... Baiklah, setiap kali saya mengubah alasan kembali yang diperlukan untuk mengubah alasan kembali. Yang diperlukan untuk mengubah alasan kembali. Saya akan mengubah alasan kembali, alasan kembali ini. Alasan kembali ini seperti ini. Jadi, jika anda... Jangan kisahkan kembali, tetapi jika anda mengikuti logik, pertama, apa yang kita lakukan adalah mengubah alasan kembali untuk mengubah alasan kembali dalam alasan kembali. Kemudian, kita mengubah alasan kembali dengan alasan kembali. Kemudian, ketiga, jika anda mempunyai alasan kembali untuk mengubah alasan kembali tanpa alasan kembali, seperti... saya bermakna betul-betul berlaku. Jadi, bagi orang yang lebih berguna dengan alasan kembali, jadi apa yang anda lakukan adalah anda hanya melakukan seperti yang anda lakukan. Jika tidak, anda mengincang bermakna. Saya assuman, saya mengubah alasan kembali untuk menjari alasan kembali. Dan bila saya united dengan alasan kembali, saya mula men moral diada extends sumber pasangan adekrien perubahan. Perubahan adek perubahan terpaksa minum alas untuk membaruh bakeda perubahan. Kemudian saya membalik słu jauh kerana, saya akan explosiv bahawa, okay, disini, anda dapat membuat 50 Teach bersama. Tidak kenawha Saya ingin menyebabkan bahagian progres. Jadi, ia seperti penggantung, akhirnya di jawa. Okey, jadi sekarang kita mempunyai saba otomik ini. Dan semuanya telah dilakukan. Jadi mari kita lihat bagaimana. Ya, saya juga perlu menyebabkan ini. Ingat, dalam peringkatan kita, kita mempunyai beberapa kata-kata. Ia hanya menunjukkan kepada anda bagaimana kata-kata. Bagaimana mereka sebenarnya akan menyebabkan bahagian progres? Okey, anda lihat ini? Okey, sebabnya anda melihat kata-kata peringkatan ini. Kerana saya tidak sebenarnya menyebabkan subkripsi ke dalam peringkatan. Tapi, anda lihat bahawa ia menyebabkan. Ia menyebabkan. Jadi mari kita katakan bahagian tidak menyebabkan. Anda memberi saya cukup. Seperti... Oh, saya rasa kerana saya tidak menyebabkan, saya tidak menyebabkan bahagian itu. Okey. Tapi, mari kita katakan bahagian itu. Jadi sekarang anda melihat bahagian ini. Anda melihat bahagian ini. Sekarang saya melihat bahagian ini. Sekarang saya akan melihat bahagian ini. Sekarang anda ingin melihat bahagian ini. Mari kita cuba menyebabkan bahagian ini. Jadi, sama sekali, kamu memasakkan dua peringkatan. Kamu memasakkan dua peringkatan dan kamu mempunyai semua ini. Kami akan menyebabkan bahagian ini. Jadi mari kita melihat bahagian ini. Jadi, di dalam peringkatan ini untuk diperingkatan, yang saya ingin mempunyai adalah peringkatan i2. Kerana peringkatan i2 kita perlu membutangkan bahagian ini. Dan kemudian dalam peringkatan i2, saya ingin mempunyai peringkatan yang saya ingin mempunyai. Saya tidak peduli tentang peringkatan ini. Semua yang saya ingin tahu adalah apabila saya klik di dalam peringkatan itu, saya ingin menyebabkan bahagian ini untuk menunjukkan bahagian ini. Tapi kami tidak akan memperkenalkan bahagian ini. Jadi, saya akan mengatakan bahagian ini. Ini adalah sebab bahagian kita akan menggunakan peringkatan i2. Kerana peringkatan i2 mempunyai peringkatan i2 untuk menggunakan peringkatan i2. Okey, peringkatan i2 mempunyai sebab bahagian ini adalah peringkatan i2 untuk menggunakan peringkatan i2. Jadi, peringkatan i2 adalah sebab bahagian yang membuat penjagaan untuk anda. Jadi, apa yang anda lakukan adalah apabila anda mempunyai peringkatan i2, saya bermakna, semua yang anda perlu lakukan adalah ini. Jadi, anda memperingkatan i2. Jadi, dalam kejadian ini, keadaan yang anda mencari adalah sangat mudah. Peringkatan i2 adalah sebuah kejadian. Peringkatan i2 akan membantu mengalami peringkatan i2 untuk menggunakan peringkatan i2. Peringkatan i2 akan mengalami keadaan yang anda ingin beritahu di global. Okey, kita akan kemudian. Anda akan melihat peringkatan i2. Okey, jadi sekarang anda melihatnya. Saya hanya mengambil beberapa peringkatan i2 dan saya mengambil peringkatan i2 di kabel saya. Jadi, kenapa saya katakan bahawa ini lebih mudah daripada MPV dan MPV sebab jika anda melihat di sini untuk peringkatan i2, anda tidak sebenarnya tahu apa yang berlaku. Anda tidak sebenarnya tahu apa yang telah berlaku. Semuanya di sini adalah peringkatan i2. Semua yang anda tahu adalah apabila anda menerima peringkatan i2, ia mengambil sesuatu. Ia mengambil sesuatu, tetapi anda tidak tahu apa yang ianya. Jadi, saya akan mengambil peringkatan i2. Ia akan dipercayai apabila saya mengambil peringkatan i2. Tetapi, anda melihat di sini semua peringkatan i2 di sini. Jadi, ia bermaksud anda dapat mengambil peringkatan i2. Dan kemudian, apa yang anda boleh lakukan untuk mengambil peringkatan i2 adalah membuat mengambil peringkatan i2 keadaan i2. Dan anda menerimanya apabila saya mengambil peringkatan i2 ketika saya mengambil peringkatan i2. Jadi, logis ini sudah berlaku untuk mengambil peringkatan i2. Jadi, anda tidak mengambil peringkatan i2 atau peringkatan i2 atau apa-apa saja. Dan itu saja. Kita tidak perlu mengambil peringkatan i2. Tapi, kita tidak akan berhenti di sana. Ada satu perkara yang tidak berlaku. Jadi, apabila saya mengambil peringkatan i2, saya tidak akan mengambil peringkatan i2. Bagaimana mengambil peringkatan i2? Ia adalah sebuah konsep yang sama. Kita mempunyai peringkatan i2 С1. Saya akan membuat peringkatan i2 yang最 bagus yang tidak pasti saya yakin bagi stilastin servants Aku berada di dalam wasian untuk dibuani ada budang cul yang mengambil peringkatan i2, kan muddy eggs yang nggak paradigm lookinup undang saya ia ei mengambil peringkatan danna dan jauh tidak mengambil peringkatan i2. Kami membuat peringkatan i2 sebab separated dengan moins dan tidak killing hyde saya akan mempunyai masalah yang lebih sulit untuk anda untuk menggunakan masalah tetapi itu tidak menyebabkan keadaan ini. Jadi, dalam kes ini, ini hanya menerima kontrolan navigasi yang anda tahu, menjawab, saya tidak akan menyebabkan kontrolan keadaan. Ketika saya menerima jalanan, apa yang saya mahu adalah, saya mahu lakukan sesuatu. Saya tidak mempunyai jalanan lain daripada saya. Tetapi, saya akan berkata, dalam pilihan melampaukan pilihan yang saya mahu menyebabkan keadaan yang diperlukan untuk melampaukan pilihan yang saya hanya menyebabkan. Jadi, saya akan menyebabkan pilihan yang saya mahu menyebabkan. Jadi, pilihan yang terbaik adalah berbeza, tapi pilihan yang saya mahu menyebabkan akan dikatakan oleh pilihan. Saya akan menyebabkan pilihan yang saya mahu menyebabkan, bila pilihan tanda-tanda saya tidak akan menyebabkan. Kemudian, pilihan yang saya mahu menyebabkan dengan Instagram dan membuat tanda-tanda di semua pilihan untuk anda. Jadi, ia adalah konsep sama. Karena pilihan yang saya mahu menyebabkan So, what you're doing is that you call Show Preview and when you tap on the sound, because this is an ID action. And then in Action Pro, Show Preview will dispatch external ERF. And then since you have access to the track, the track will have a pre-previewed ERF. And let's run this. And win term. I'm going to patch some things. Okay, let's say when I click here, it will go to analysis. So, no matter how deep your view is, you can control the navigation. So that's the view of it. Because it's a unidirectional flow and it's infinitely extensible. Let's say you have very complicated logic that you don't want to modify your existing classes. We have a few use cases for that. Let's say I have in this logic that search is gone. But I want to have an additional logic to lock whatever input that I search. All I need to do is that at another Sada, catch the same action. I mean, imagine if this is the connected logic. Catch the same action and then do your API. So you don't need to modify this. You don't need to modify this logic to cater to logging. All actions that are in your pipeline will be delivered to all your Sada. And your Sada can specify which action is interested in. You want to have more stuff? Just write another Sada. Because it's very lightweight. Write another Sada to handle the logic. You don't need to extend your existing method. Write a test for it, a verisable test. The way to write a test is that we verify that this sequence of actions happen. But we don't care what is happening. Let's say I want to test an auto-permit Sada. I will provide a more implementation of the app registry. I will provide a query. And then I will verify that there was a pull effect. And then there was a call effect. And there was another pull. And then finally it went on pull. So pull call to pull. But since you don't need to specify what it actually does. All you're doing is that you're just verifying that this sequence happen. Let's say in a test, you want to have some logic to handle the error. So in a test, you mock the error. And then you verify that, okay, this action was called. But these two were not called. If there was an error. And then these two were called. So which makes all your logic to be very unit. In a sense, the smallest that they can be. Very easy to test. I mean, the view is easy to test. Because the view has no idea what is going on. The view just receive the problem. Yes. So, this is a very shallow example. It feels like, you know, things like this always look good for small apps. But what about big apps? So the way you write big apps is that, you know, you will have lifecycle control. And say, every time, I mean for grab example, grab is a huge app. It has a lot of, like, different screens. A lot of different verticals, like transport and food. And say, every time I go to the transport screen, fire up all these startups for me. But every time I leave the transport screen, kill all of them. So that you control the resources properly. And then I have another concept. But I don't know whether the time permits, which is called nested router. But I think if anyone is interested, you can talk to me later. So, okay. So automatic subscription routing, navigation, asynchronous work, what else? Grab management, you know, lifecycle management. You don't need to manage the lifecycle of your subscription. Because it will always be automatically unsubscribe every time your view controller or view is de-initialized. So you don't, as long as the moment you call, inject, nothing else you need to do, just react to whatever stuff that arrives to you. So this is functional, reactive functional programming. So you just react to whatever stuff you do. You don't do anything. If you have user interaction, call an action that you don't know the implementation of. So the view is completely dark. And then you don't need to fight the GoPro frame at all. So that's already the end. But I wanted to say a few more things. So if you are like a full-stack developer, so this is the report it's coming up. And this is my Github. And I have also provided the implementation and more Android. This one, you see the commit, the commit count is much more than suit because on Android it's a lot more complicated to do simple things. So if you feel like, you can try it out. If you want to do both Android and iOS, you can try both these Android. They won't exactly the same way. So let's say this is my thing. And this example is the same as previous. Oh, yeah. This is the preview screen. Okay. A bit more complicated because I have affectionate. Let's see. Okay, after progress, and after results, when I click clear, we will go to results screen. A bit more complicated because when you click on the iOS end, it just go to a web queue. I have a bit more complicated. And then a bunch of other simple apps that you may want to check out if you do both Android and iOS. And yeah, that's kind of it. I can assure you that you may think that this may fit for simple two apps. But that is not the case. We have built huge, rare apps based on redundant. And there's no reason not to work here. But you need to manage your separation of concepts properly. Let's say there's a global state. Don't put everything in a global state. If anything that you can make local, make it local. The global state should be for sharing between two views. Okay. So because the problem with all, the problem that every architecture try to solve is how to complicate between two components that don't know each other. In this way, in this way I have provided a good way to do that. But it is not the only answer. So if you feel like it's too complicated for you, personally I don't feel that it's complicated because there's no other layer that you need to do as I do this. It's just logic in a few. And full separation of concepts. But you may feel like other architectures are more of your thing. Maybe by Perl, and BBM. But I try all of them and none of them feel that it's productive. It's not productive to me because I need to do so much quality to the point that I mean, it's not an important talk. But I can go a lot of things that are frustrated on Android. But on iOS, I think it's a bit better because you don't need to do so many unnecessary things to achieve something so simple. But yeah, so if you feel like you want to check it out, just go to this, so this is my page. Perlman And you see, I've been in these two libraries. All of that use I should underline as the underlying communication. So, I don't think there's anything normal than doing it. So all I'm doing is that I'm taking a concept that already exists in front-end. I take another concept that already exists on iOS, which is IOS. Combine it together and make the implementation as close to the original Redux as possible. So, this is the closest that you can get to original Redux. All the other implementations you will not get because let's say for IOS, or then you will need to do something like So, let's imagine this if you do not you're going to have to do something like store or subscribe. In which case the store here is like a signature which indicates the type of dependency change. So, in other implementations it's just as people pops up but what I'm offering here is a full framework. Everything is kind of different but as long as you know how to do the right thing I don't think you can ever go wrong. Yeah, so, that's it. Any question? Just now you were saying that you were very big app if you move forward but it was like how you stick because it's not everything seems like all the state is it must have not been mentioned but something you'll be aware of almost the action that people have. Yeah? And then sorry the questions will be left as an entire gang and stuff. You can always approach as we get on. Yeah, I get what you mean. So, maybe you're ready so, can I start? Yes, because we're ready in a very short time. Okay, so, how would you do this kind of splitting on both Android and iOS? Okay, so Android on Android you do dagger but iOS you do something like needle So, it's the same thing. Because let's say it's actually a flat map latest. So, what you can do is that every time you enter a screen let's say your business have three things screen. For grab we have the transport screen we have the food screen we have whatever other screen and let's say when I enter here I send an initialise action. Okay, after I send initialise fire up, help me fire up all the related startups. Initialise action. Okay. To kill all those startups. So, that is how you can split the modules into different. I mean, I've tried it with not here a new grab but I mean, it's confidential and confidential. You can share. Yeah, so anyway, if you have any question just feel the contact I mean, I've studied this a lot and then it works on both Android the same concept. So, as long as you handle dependency injection properly anything can be done. This is just something simple for you to play with. Yes, but if you're in big apps your concern does not lie with you know, this kind of you know, this kind of small small thing. Your concern will lie with how you separate the concern and how you communicate between your business variables. So, your question will be much bigger than this. But there's a way to handle with this framework, which, you know, if you're interested later, I can share. Alright. That's it. Let's give he a round of applause. Let's share.