Rumah > hujung hadapan web > tutorial js > React v Keluaran Stabil dan Perkara Baharu

React v Keluaran Stabil dan Perkara Baharu

Linda Hamilton
Lepaskan: 2024-12-09 00:12:12
asal
781 orang telah melayarinya

React v The Stable Release and What’s New

React 19 telah mendarat secara rasmi, membawakan banyak ciri baharu dan peningkatan yang memudahkan pembangunan dan meningkatkan prestasi aplikasi. Daripada pengurusan keadaan yang dipertingkatkan kepada penyepaduan sisi pelayan yang lebih baik, React 19 mempunyai sesuatu untuk semua orang.


Ciri Utama dalam React 19 :

1. Tindakan untuk Pengurusan Negeri Async Dipermudah

Mengurus operasi async seperti permintaan API sentiasa menjadi cabaran biasa dalam React. React 19 memperkenalkan Tindakan, yang mengautomasikan keadaan belum selesai, pengendalian ralat dan kemas kini yang optimistik.

Contoh: Penyerahan Borang Ringkas dengan Tindakan

import { useActionState } from "react";

function UpdateNameForm() {
  const [error, submitAction, isPending] = useActionState(
    async (prevState, formData) => {
      const name = formData.get("name");
      const error = await updateName(name);
      if (error) {
        return error;
      }
      redirect("/profile");
      return null;
    },
    null
  );

  return (
    <form action={submitAction}>
      <input type="text" name="name" />
      <button type="submit" disabled={isPending}>
        Update
      </button>
      {error && <p>{error}</p>}
    </form>
  );
}
Salin selepas log masuk
Salin selepas log masuk

Di sini, useActionState mengurus keadaan penyerahan dan pengendalian ralat untuk anda, menjadikan kod lebih bersih dan lebih mudah diselenggara.


2. Kemas Kini Optimis dengan penggunaanOptimistic

Kemas kini UI yang optimis membolehkan pengguna melihat perubahan serta-merta semasa permintaan async sedang dijalankan. Cangkuk useOptimistic baharu menjadikan corak ini mudah.

Contoh: Perubahan Nama Optimis

import { useOptimistic } from "react";

function ChangeName({ currentName, onUpdateName }) {
  const [optimisticName, setOptimisticName] = useOptimistic(currentName);

  const submitAction = async (formData) => {
    const newName = formData.get("name");
    setOptimisticName(newName); // Show optimistic state
    const updatedName = await updateName(newName); // Wait for the async request
    onUpdateName(updatedName); // Update the actual state
  };

  return (
    <form action={submitAction}>
      <p>Your name: {optimisticName}</p>
      <input type="text" name="name" />
      <button type="submit">Change Name</button>
    </form>
  );
}
Salin selepas log masuk

useOptimistic memastikan pengalaman pengguna yang lancar dengan menunjukkan kemas kini walaupun sebelum pelayan bertindak balas.


3. Pelaporan Ralat Dipertingkat untuk Ketidakpadanan Penghidratan

React 19 menambah baik pengendalian ralat, terutamanya untuk ralat penghidratan. Daripada ralat kabur, anda kini mendapat perbezaan terperinci kandungan tidak sepadan antara pelayan dan pelanggan.

Contoh: Perbezaan Ralat Penghidratan

Uncaught Error: Hydration failed because the server-rendered HTML didn’t match the client.
Tree mismatch:
+ Client: <span>Welcome</span>
- Server: <span>Hello</span>
Salin selepas log masuk

Mesej yang jelas ini membantu pembangun nyahpepijat isu dengan cepat dan cekap.


4. Komponen Pelayan dan Tindakan Pelayan

Komponen Pelayan Bertindak balas (RSC) membenarkan komponen dipaparkan pada pelayan, meningkatkan prestasi. Tindakan Pelayan membolehkan panggilan fungsi async pada pelayan terus daripada Komponen Pelanggan.

Contoh: Menggunakan Tindakan Pelayan

// Server Component
export const fetchComments = async () => {
  const response = await fetch("/api/comments");
  return await response.json();
};

// Client Component
import { use } from "react";

function Comments({ commentsPromise }) {
  const comments = use(commentsPromise); // Suspends until resolved
  return (
    <ul>
      {comments.map((comment) => (
        <li key={comment.id}>{comment.text}</li>
      ))}
    </ul>
  );
}

// Usage
function App() {
  return (
    <Suspense fallback={<p>Loading comments...</p>}>
      <Comments commentsPromise={fetchComments()} />
    </Suspense>
  );
}
Salin selepas log masuk

Tindakan Pelayan menyelaraskan pengambilan dan memberikan data sisi pelayan dalam Komponen Pelanggan.


5. Metadata Asli dan Pengurusan Lembaran Gaya

React 19 kini menyokong , <link> dan <meta> tag secara asli, memudahkan pengurusan metadata dokumen.</p> <p><strong>Contoh: Metadata Dinamik dalam Komponen</strong><br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">function BlogPost({ title, keywords }) { return ( <article> <h1>{title}</h1> <title>{title}</title> <meta name="keywords" content={keywords.join(", ")} /> <p>Content of the blog post...</p> </article> ); } </pre><div class="contentsignin">Salin selepas log masuk</div></div> <p>React memastikan teg ini dipaparkan dalam <head> bahagian secara automatik, meningkatkan SEO dan kebolehgunaan.</p> <p><strong>Contoh: Lembaran Gaya Terurus</strong><br> </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">import { useActionState } from "react"; function UpdateNameForm() { const [error, submitAction, isPending] = useActionState( async (prevState, formData) => { const name = formData.get("name"); const error = await updateName(name); if (error) { return error; } redirect("/profile"); return null; }, null ); return ( <form action={submitAction}> <input type="text" name="name" /> <button type="submit" disabled={isPending}> Update </button> {error && <p>{error}</p>} </form> ); } </pre><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div> <p>React memastikan helaian gaya dimuatkan dalam susunan yang betul dan sekali sahaja, walaupun dirujuk beberapa kali.</p> <hr> <h3> <strong>Kenapa Naik Taraf kepada React 19?</strong> </h3> <p>Ciri baharu React 19 mengurangkan kod boilerplate dengan ketara, meningkatkan prestasi aplikasi dan meningkatkan pengalaman pembangunan. Ciri seperti <strong>Tindakan</strong>, <strong>Kemas Kini Optimis</strong> dan <strong>Komponen Pelayan</strong> memperkasakan pembangun untuk membina aplikasi yang dinamik, responsif dan berskala dengan sedikit usaha.</p> <hr> <h3> <strong>Cara Menaik taraf</strong> </h3> <p>Ikuti Panduan Naik Taraf React 19 untuk peralihan yang lancar. Pastikan anda menguji dengan teliti dan menangani sebarang perubahan yang melanggar yang digariskan dalam panduan.</p> <hr> <p>React 19 ialah pengubah permainan, menggabungkan kesederhanaan, kuasa dan prestasi. Mula bereksperimen dengan ciri baharu ini dan tingkatkan projek React anda ke peringkat seterusnya!</p> <p>Atas ialah kandungan terperinci React v Keluaran Stabil dan Perkara Baharu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!</p> </div> </div> <div style="height: 25px;"> <div style="display: inline-flex;float: right; color:#333333;">sumber:dev.to</div> </div> <div class="wzconOtherwz"> <a href="https://www.php.cn/ms/faq/1796713282.html" title="Bagaimanakah Saya Boleh Membekukan Pengepala Jadual HTML Menggunakan CSS dan JavaScript?"> <span>Artikel sebelumnya:Bagaimanakah Saya Boleh Membekukan Pengepala Jadual HTML Menggunakan CSS dan JavaScript?</span> </a> <a href="https://www.php.cn/ms/faq/1796713306.html" title="Bagaimanakah Saya Boleh Mengesan dan Mengendalikan Perubahan Hash Lokasi dengan Amanah dalam JavaScript?"> <span>Artikel seterusnya:Bagaimanakah Saya Boleh Mengesan dan Mengendalikan Perubahan Hash Lokasi dengan Amanah dalam JavaScript?</span> </a> </div> <div class="wzconShengming"> <div class="bzsmdiv">Kenyataan Laman Web ini</div> <div>Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn</div> </div> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="2507867629"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzconZzwz"> <div class="wzconZzwztitle">Artikel terbaru oleh pengarang</div> <ul> </ul> </div> <div class="wzconZzwz"> <div class="wzconZzwztitle">Isu terkini</div> <div class="wdsyContent"> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ms/wenda/176411.html" target="_blank" title="function_exists() tidak boleh menentukan fungsi tersuai" class="wdcdcTitle">function_exists() tidak boleh menentukan fungsi tersuai</a> <a href="https://www.php.cn/ms/wenda/176411.html" class="wdcdcCons">Ujian fungsi () {return true;} jika (function_exists ('test')) {echo "test is functio...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> daripada 2024-04-29 11:01:01</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>3</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2167</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ms/wenda/176410.html" target="_blank" title="Bagaimana untuk memaparkan versi mudah alih Google Chrome" class="wdcdcTitle">Bagaimana untuk memaparkan versi mudah alih Google Chrome</a> <a href="https://www.php.cn/ms/wenda/176410.html" class="wdcdcCons">Hello cikgu, bagaimana saya boleh menukar Google Chrome kepada versi mudah alih?</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> daripada 2024-04-23 00:22:19</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>11</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>2317</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ms/wenda/176407.html" target="_blank" title="Tetingkap anak mengendalikan tetingkap induk, tetapi output tidak bertindak balas." class="wdcdcTitle">Tetingkap anak mengendalikan tetingkap induk, tetapi output tidak bertindak balas.</a> <a href="https://www.php.cn/ms/wenda/176407.html" class="wdcdcCons">Dua ayat pertama boleh dilaksanakan, tetapi ayat terakhir tidak boleh dilaksanakan.</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> daripada 2024-04-19 15:37:47</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>1951</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ms/wenda/176406.html" target="_blank" title="Tiada output dalam tetingkap induk" class="wdcdcTitle">Tiada output dalam tetingkap induk</a> <a href="https://www.php.cn/ms/wenda/176406.html" class="wdcdcCons">document.onclick = function(){ window.opener.document.write('Saya adalah output tetingkap ...</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> daripada 2024-04-18 23:52:34</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>1</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>1830</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> <div class="wdsyConDiv flexRow wdsyConDiv1"> <div class="wdcdContent flexColumn"> <a href="https://www.php.cn/ms/wenda/176405.html" target="_blank" title="Di manakah perisian kursus tentang pemetaan minda CSS?" class="wdcdcTitle">Di manakah perisian kursus tentang pemetaan minda CSS?</a> <a href="https://www.php.cn/ms/wenda/176405.html" class="wdcdcCons">Perisian kursus</a> <div class="wdcdcInfo flexRow"> <div class="wdcdcileft"> <span class="wdcdciSpan"> daripada 2024-04-16 10:10:18</span> </div> <div class="wdcdciright flexRow"> <div class="wdcdcirdz flexRow ira"> <b class="wdcdcirdzi"></b>0 </div> <div class="wdcdcirpl flexRow ira"><b class="wdcdcirpli"></b>0</div> <div class="wdcdcirwatch flexRow ira"><b class="wdcdcirwatchi"></b>1881</div> </div> </div> </div> </div> <div class="wdsyConLine wdsyConLine2"></div> </div> </div> <div class="wzconZt" > <div class="wzczt-title"> <div>Topik-topik yang berkaitan</div> <a href="https://www.php.cn/ms/faq/zt" target="_blank">Lagi> </a> </div> <div class="wzcttlist"> <ul> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/vscode"><img src="https://img.php.cn/upload/subject/202407/22/2024072214372738907.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="vscode" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/vscode" class="title-a-spanl" title="vscode"><span>vscode</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/sjlbslysj"><img src="https://img.php.cn/upload/subject/202407/22/2024072214154038125.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Telefon tidak boleh bersambung ke set kepala Bluetooth" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/sjlbslysj" class="title-a-spanl" title="Telefon tidak boleh bersambung ke set kepala Bluetooth"><span>Telefon tidak boleh bersambung ke set kepala Bluetooth</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/wfljint"><img src="https://img.php.cn/upload/subject/202407/22/2024072214264911612.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Tidak dapat menyambung ke internet" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/wfljint" class="title-a-spanl" title="Tidak dapat menyambung ke internet"><span>Tidak dapat menyambung ke internet</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/normaldotmcw"><img src="https://img.php.cn/upload/subject/202407/22/2024072213410450150.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Perkara yang perlu dilakukan jika ralat normal.dotm berlaku" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/normaldotmcw" class="title-a-spanl" title="Perkara yang perlu dilakukan jika ralat normal.dotm berlaku"><span>Perkara yang perlu dilakukan jika ralat normal.dotm berlaku</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/indexhtml"><img src="https://img.php.cn/upload/subject/202407/22/2024072214121069608.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="index.html apa itu" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/indexhtml" class="title-a-spanl" title="index.html apa itu"><span>index.html apa itu</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/tomcatrzlmzmj"><img src="https://img.php.cn/upload/subject/202407/22/2024072213270815728.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Bagaimana untuk menyelesaikan log tomcat yang kacau" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/tomcatrzlmzmj" class="title-a-spanl" title="Bagaimana untuk menyelesaikan log tomcat yang kacau"><span>Bagaimana untuk menyelesaikan log tomcat yang kacau</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/webstormideay"><img src="https://img.php.cn/upload/subject/202407/22/2024072212123347159.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="Apakah perbezaan antara webstorm dan idea?" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/webstormideay" class="title-a-spanl" title="Apakah perbezaan antara webstorm dan idea?"><span>Apakah perbezaan antara webstorm dan idea?</span> </a> </li> <li class="ul-li"> <a target="_blank" href="https://www.php.cn/ms/faq/gitml"><img src="https://img.php.cn/upload/subject/202407/22/2024072214271952350.jpg?x-oss-process=image/resize,m_fill,h_145,w_220" alt="arahan git" /> </a> <a target="_blank" href="https://www.php.cn/ms/faq/gitml" class="title-a-spanl" title="arahan git"><span>arahan git</span> </a> </li> </ul> </div> </div> </div> </div> <div class="phpwzright"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5902227090019525" data-ad-slot="3653428331" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="wzrOne"> <div class="wzroTitle">Cadangan popular</div> <div class="wzroList"> <ul> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="apa maksud js" href="https://www.php.cn/ms/faq/482163.html">apa maksud js</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="js怎么将字符串转为数组?" href="https://www.php.cn/ms/faq/461802.html">js怎么将字符串转为数组?</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="javascript如何刷新页面" href="https://www.php.cn/ms/faq/473330.html">javascript如何刷新页面</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="sqrt函数怎么使用" href="https://www.php.cn/ms/faq/415276.html">sqrt函数怎么使用</a> </div> </li> <li> <div class="wzczzwzli"> <span class="layui-badge-dots wzrolr"></span> <a style="height: auto;" title="js数组怎么删除某一项" href="https://www.php.cn/ms/faq/475790.html">js数组怎么删除某一项</a> </div> </li> </ul> </div> </div> <script src="https://sw.php.cn/hezuo/cac1399ab368127f9b113b14eb3316d0.js" type="text/javascript"></script> <div class="wzrThree"> <div class="wzrthree-title"> <div>Tutorial Popular</div> <a target="_blank" href="https://www.php.cn/ms/course.html">Lagi> </a> </div> <div class="wzrthreelist swiper2"> <div class="wzrthreeTab swiper-wrapper"> <div class="check tabdiv swiper-slide" data-id="one">Tutorial berkaitan <div></div></div> <div class="tabdiv swiper-slide" data-id="two">Cadangan popular<div></div></div> <div class="tabdiv swiper-slide" data-id="three">Kursus terkini<div></div></div> </div> <ul class="one"> <li> <a target="_blank" href="https://www.php.cn/ms/course/812.html" title="Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)" href="https://www.php.cn/ms/course/812.html">Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)</a> <div class="wzrthreerb"> <div>1422699 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/74.html" title="Tutorial pengenalan PHP satu: Belajar PHP dalam satu minggu" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253d1e28ef5c345.png" alt="Tutorial pengenalan PHP satu: Belajar PHP dalam satu minggu"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutorial pengenalan PHP satu: Belajar PHP dalam satu minggu" href="https://www.php.cn/ms/course/74.html">Tutorial pengenalan PHP satu: Belajar PHP dalam satu minggu</a> <div class="wzrthreerb"> <div>4267644 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="74"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/286.html" title="Tutorial Video Permulaan JAVA" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="Tutorial Video Permulaan JAVA"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutorial Video Permulaan JAVA" href="https://www.php.cn/ms/course/286.html">Tutorial Video Permulaan JAVA</a> <div class="wzrthreerb"> <div>2531267 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/504.html" title="Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python" href="https://www.php.cn/ms/course/504.html">Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python</a> <div class="wzrthreerb"> <div>507059 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/2.html" title="Tutorial pengenalan berasaskan sifar PHP" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/6253de27bc161468.png" alt="Tutorial pengenalan berasaskan sifar PHP"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutorial pengenalan berasaskan sifar PHP" href="https://www.php.cn/ms/course/2.html">Tutorial pengenalan berasaskan sifar PHP</a> <div class="wzrthreerb"> <div>862192 <b class="kclbcollectb"></b></div> <div class="courseICollection" data-id="2"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="two" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/ms/course/812.html" title="Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg" alt="Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)" href="https://www.php.cn/ms/course/812.html">Tutorial video perdana dunia ThinkPHP 5.1 terkini (60 hari untuk menjadi kursus latihan dalam talian pakar PHP)</a> <div class="wzrthreerb"> <div >1422699 kali belajar</div> <div class="courseICollection" data-id="812"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/286.html" title="Tutorial Video Permulaan JAVA" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a2bacfd9379.png" alt="Tutorial Video Permulaan JAVA"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Tutorial Video Permulaan JAVA" href="https://www.php.cn/ms/course/286.html">Tutorial Video Permulaan JAVA</a> <div class="wzrthreerb"> <div >2531267 kali belajar</div> <div class="courseICollection" data-id="286"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/504.html" title="Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62590a67ce3a6655.png" alt="Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python" href="https://www.php.cn/ms/course/504.html">Pengenalan berasaskan sifar Little Turtle untuk mempelajari tutorial video Python</a> <div class="wzrthreerb"> <div >507059 kali belajar</div> <div class="courseICollection" data-id="504"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/901.html" title="Pengenalan pantas kepada pembangunan bahagian hadapan web" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/64be28a53a4f6310.png" alt="Pengenalan pantas kepada pembangunan bahagian hadapan web"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Pengenalan pantas kepada pembangunan bahagian hadapan web" href="https://www.php.cn/ms/course/901.html">Pengenalan pantas kepada pembangunan bahagian hadapan web</a> <div class="wzrthreerb"> <div >215763 kali belajar</div> <div class="courseICollection" data-id="901"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/234.html" title="Kuasai tutorial video PS dari awal" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/068/62611f57ed0d4840.jpg" alt="Kuasai tutorial video PS dari awal"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Kuasai tutorial video PS dari awal" href="https://www.php.cn/ms/course/234.html">Kuasai tutorial video PS dari awal</a> <div class="wzrthreerb"> <div >889168 kali belajar</div> <div class="courseICollection" data-id="234"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> <ul class="three" style="display: none;"> <li> <a target="_blank" href="https://www.php.cn/ms/course/1648.html" title="[Web front-end] Permulaan pantas Node.js" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662b5d34ba7c0227.png" alt="[Web front-end] Permulaan pantas Node.js"/> </a> <div class="wzrthree-right"> <a target="_blank" title="[Web front-end] Permulaan pantas Node.js" href="https://www.php.cn/ms/course/1648.html">[Web front-end] Permulaan pantas Node.js</a> <div class="wzrthreerb"> <div >7398 kali belajar</div> <div class="courseICollection" data-id="1648"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/1647.html" title="Koleksi lengkap kursus timbunan penuh pembangunan web asing" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6628cc96e310c937.png" alt="Koleksi lengkap kursus timbunan penuh pembangunan web asing"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Koleksi lengkap kursus timbunan penuh pembangunan web asing" href="https://www.php.cn/ms/course/1647.html">Koleksi lengkap kursus timbunan penuh pembangunan web asing</a> <div class="wzrthreerb"> <div >5787 kali belajar</div> <div class="courseICollection" data-id="1647"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/1646.html" title="Gunakan GraphQL praktikal bahasa" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662221173504a436.png" alt="Gunakan GraphQL praktikal bahasa"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Gunakan GraphQL praktikal bahasa" href="https://www.php.cn/ms/course/1646.html">Gunakan GraphQL praktikal bahasa</a> <div class="wzrthreerb"> <div >4876 kali belajar</div> <div class="courseICollection" data-id="1646"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/1645.html" title="Master kipas 550W mempelajari JavaScript dari awal langkah demi langkah" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/662077e163124646.png" alt="Master kipas 550W mempelajari JavaScript dari awal langkah demi langkah"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Master kipas 550W mempelajari JavaScript dari awal langkah demi langkah" href="https://www.php.cn/ms/course/1645.html">Master kipas 550W mempelajari JavaScript dari awal langkah demi langkah</a> <div class="wzrthreerb"> <div >689 kali belajar</div> <div class="courseICollection" data-id="1645"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> <li> <a target="_blank" href="https://www.php.cn/ms/course/1644.html" title="Sarjana Python Mosh, seorang pemula dengan pengetahuan asas sifar boleh bermula dalam masa 6 jam" class="wzrthreelaimg"> <img src="https://img.php.cn/upload/course/000/000/067/6616418ca80b8916.png" alt="Sarjana Python Mosh, seorang pemula dengan pengetahuan asas sifar boleh bermula dalam masa 6 jam"/> </a> <div class="wzrthree-right"> <a target="_blank" title="Sarjana Python Mosh, seorang pemula dengan pengetahuan asas sifar boleh bermula dalam masa 6 jam" href="https://www.php.cn/ms/course/1644.html">Sarjana Python Mosh, seorang pemula dengan pengetahuan asas sifar boleh bermula dalam masa 6 jam</a> <div class="wzrthreerb"> <div >24446 kali belajar</div> <div class="courseICollection" data-id="1644"> <b class="nofollow small-nocollect"></b> </div> </div> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper2', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrthreeTab>div').click(function(e){ $('.wzrthreeTab>div').removeClass('check') $(this).addClass('check') $('.wzrthreelist>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> <div class="wzrFour"> <div class="wzrfour-title"> <div>Muat turun terkini</div> <a href="https://www.php.cn/ms/xiazai">Lagi> </a> </div> <script> $(document).ready(function(){ var sjyx_banSwiper = new Swiper(".sjyx_banSwiperwz",{ speed:1000, autoplay:{ delay:3500, disableOnInteraction: false, }, pagination:{ el:'.sjyx_banSwiperwz .swiper-pagination', clickable :false, }, loop:true }) }) </script> <div class="wzrfourList swiper3"> <div class="wzrfourlTab swiper-wrapper"> <div class="check swiper-slide" data-id="onef">kesan web <div></div></div> <div class="swiper-slide" data-id="twof">Kod sumber laman web<div></div></div> <div class="swiper-slide" data-id="threef">Bahan laman web<div></div></div> <div class="swiper-slide" data-id="fourf">Templat hujung hadapan<div></div></div> </div> <ul class="onef"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="kod hubungan borang mesej perusahaan jQuery" href="https://www.php.cn/ms/toolset/js-special-effects/8071">[butang borang] kod hubungan borang mesej perusahaan jQuery</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Kesan main balik kotak muzik MP3 HTML5" href="https://www.php.cn/ms/toolset/js-special-effects/8070">[Kesan khas pemain] Kesan main balik kotak muzik MP3 HTML5</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="HTML5 kesan khas menu navigasi animasi zarah sejuk" href="https://www.php.cn/ms/toolset/js-special-effects/8069">[Navigasi menu] HTML5 kesan khas menu navigasi animasi zarah sejuk</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="jQuery bentuk visual seret dan lepas kod penyuntingan" href="https://www.php.cn/ms/toolset/js-special-effects/8068">[butang borang] jQuery bentuk visual seret dan lepas kod penyuntingan</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Kod pemain muzik Kugou tiruan VUE.JS" href="https://www.php.cn/ms/toolset/js-special-effects/8067">[Kesan khas pemain] Kod pemain muzik Kugou tiruan VUE.JS</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Permainan kotak menolak html5 klasik" href="https://www.php.cn/ms/toolset/js-special-effects/8066">[kesan khas html5] Permainan kotak menolak html5 klasik</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="menatal jQuery untuk menambah atau mengurangkan kesan imej" href="https://www.php.cn/ms/toolset/js-special-effects/8065">[Gambar kesan khas] menatal jQuery untuk menambah atau mengurangkan kesan imej</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a target="_blank" title="Kesan zum hover kulit album peribadi CSS3" href="https://www.php.cn/ms/toolset/js-special-effects/8064">[Kesan album foto] Kesan zum hover kulit album peribadi CSS3</a> </div> </li> </ul> <ul class="twof" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8328" title="Templat Laman Web Syarikat Pembersihan dan Pembaikan Hiasan Rumah" target="_blank">[Templat bahagian hadapan] Templat Laman Web Syarikat Pembersihan dan Pembaikan Hiasan Rumah</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8327" title="Templat halaman panduan resume peribadi berwarna segar" target="_blank">[Templat bahagian hadapan] Templat halaman panduan resume peribadi berwarna segar</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8326" title="Templat Web Resume Kerja Kreatif Pereka" target="_blank">[Templat bahagian hadapan] Templat Web Resume Kerja Kreatif Pereka</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8325" title="Templat laman web syarikat pembinaan kejuruteraan moden" target="_blank">[Templat bahagian hadapan] Templat laman web syarikat pembinaan kejuruteraan moden</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8324" title="Templat HTML5 responsif untuk institusi perkhidmatan pendidikan" target="_blank">[Templat bahagian hadapan] Templat HTML5 responsif untuk institusi perkhidmatan pendidikan</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8323" title="Templat laman web pusat membeli-belah kedai e-buku dalam talian" target="_blank">[Templat bahagian hadapan] Templat laman web pusat membeli-belah kedai e-buku dalam talian</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8322" title="Teknologi IT menyelesaikan templat tapak web syarikat Internet" target="_blank">[Templat bahagian hadapan] Teknologi IT menyelesaikan templat tapak web syarikat Internet</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8321" title="Templat laman web perkhidmatan perdagangan pertukaran asing gaya ungu" target="_blank">[Templat bahagian hadapan] Templat laman web perkhidmatan perdagangan pertukaran asing gaya ungu</a> </div> </li> </ul> <ul class="threef" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3078" target="_blank" title="Bahan vektor elemen musim panas yang comel (EPS+PNG)">[bahan PNG] Bahan vektor elemen musim panas yang comel (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3077" target="_blank" title="Empat bahan vektor lencana tamat pengajian 2023 merah (AI+EPS+PNG)">[bahan PNG] Empat bahan vektor lencana tamat pengajian 2023 merah (AI+EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3076" target="_blank" title="Burung nyanyian dan troli diisi dengan bahan vektor sepanduk musim bunga reka bentuk bunga (AI+EPS)">[gambar sepanduk] Burung nyanyian dan troli diisi dengan bahan vektor sepanduk musim bunga reka bentuk bunga (AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3075" target="_blank" title="Bahan vektor topi pengijazahan emas (EPS+PNG)">[bahan PNG] Bahan vektor topi pengijazahan emas (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3074" target="_blank" title="Bahan vektor ikon gunung gaya hitam putih (EPS+PNG)">[bahan PNG] Bahan vektor ikon gunung gaya hitam putih (EPS+PNG)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3073" target="_blank" title="Bahan vektor siluet superhero (EPS+PNG) dengan jubah warna yang berbeza dan pose yang berbeza">[bahan PNG] Bahan vektor siluet superhero (EPS+PNG) dengan jubah warna yang berbeza dan pose yang berbeza</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3072" target="_blank" title="Bahan vektor sepanduk Hari Arbor gaya rata (AI+EPS)">[gambar sepanduk] Bahan vektor sepanduk Hari Arbor gaya rata (AI+EPS)</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-materials/3071" target="_blank" title="Sembilan bahan vektor buih sembang meletup gaya komik (EPS+PNG)">[bahan PNG] Sembilan bahan vektor buih sembang meletup gaya komik (EPS+PNG)</a> </div> </li> </ul> <ul class="fourf" style="display:none"> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8328" target="_blank" title="Templat Laman Web Syarikat Pembersihan dan Pembaikan Hiasan Rumah">[Templat bahagian hadapan] Templat Laman Web Syarikat Pembersihan dan Pembaikan Hiasan Rumah</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8327" target="_blank" title="Templat halaman panduan resume peribadi berwarna segar">[Templat bahagian hadapan] Templat halaman panduan resume peribadi berwarna segar</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8326" target="_blank" title="Templat Web Resume Kerja Kreatif Pereka">[Templat bahagian hadapan] Templat Web Resume Kerja Kreatif Pereka</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8325" target="_blank" title="Templat laman web syarikat pembinaan kejuruteraan moden">[Templat bahagian hadapan] Templat laman web syarikat pembinaan kejuruteraan moden</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8324" target="_blank" title="Templat HTML5 responsif untuk institusi perkhidmatan pendidikan">[Templat bahagian hadapan] Templat HTML5 responsif untuk institusi perkhidmatan pendidikan</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8323" target="_blank" title="Templat laman web pusat membeli-belah kedai e-buku dalam talian">[Templat bahagian hadapan] Templat laman web pusat membeli-belah kedai e-buku dalam talian</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8322" target="_blank" title="Teknologi IT menyelesaikan templat tapak web syarikat Internet">[Templat bahagian hadapan] Teknologi IT menyelesaikan templat tapak web syarikat Internet</a> </div> </li> <li> <div class="wzrfourli"> <span class="layui-badge-dots wzrflr"></span> <a href="https://www.php.cn/ms/toolset/website-source-code/8321" target="_blank" title="Templat laman web perkhidmatan perdagangan pertukaran asing gaya ungu">[Templat bahagian hadapan] Templat laman web perkhidmatan perdagangan pertukaran asing gaya ungu</a> </div> </li> </ul> </div> <script> var mySwiper = new Swiper('.swiper3', { autoplay: false,//可选选项,自动滑动 slidesPerView : 'auto', }) $('.wzrfourlTab>div').click(function(e){ $('.wzrfourlTab>div').removeClass('check') $(this).addClass('check') $('.wzrfourList>ul').css('display','none') $('.'+e.currentTarget.dataset.id).show() }) </script> </div> </div> </div> <footer> <div class="footer"> <div class="footertop"> <img src="/static/imghw/logo.png" alt=""> <p>Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!</p> </div> <div class="footermid"> <a href="https://www.php.cn/ms/about/us.html">Tentang kita</a> <a href="https://www.php.cn/ms/about/disclaimer.html">Penafian</a> <a href="https://www.php.cn/ms/update/article_0_1.html">Sitemap</a> </div> <div class="footerbottom"> <p> © php.cn All rights reserved </p> </div> </div> </footer> <input type="hidden" id="verifycode" value="/captcha.html"> <script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script> <script src="/static/js/common_new.js"></script> <script type="text/javascript" src="/static/js/jquery.cookie.js?1734061152"></script> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all'/> <script type='text/javascript' src='/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script> <script type="text/javascript" src="/static/js/global.min.js?5.5.53"></script> </body> </html>