【JavaScript腳本宇宙】實時協同編輯:JavaScript 庫和框架全面解析

實時協同編輯:探秘JavaScript實時協同編輯利器## 前言

在當今互聯網時代,實時協同編輯成為了許多應用程序的重要功能之一。無論是團隊協作辦公軟件,還是在線教育平臺,都需要實現多人同時編輯文檔的功能。為了滿足這一需求,出現了許多優秀的實時協同編輯庫和框架。本文將對其中一些知名的JavaScript庫和框架進行介紹,幫助開發者快速了解它們的特點和使用方法。

歡迎訂閱專欄:JavaScript腳本宇宙

文章目錄

  • 實時協同編輯:探秘JavaScript實時協同編輯利器## 前言
    • 1. ShareDB:一個用于實時協同編輯的數據庫
      • 1.1 簡介
        • 1.1.1 核心功能
        • 1.1.2 使用場景
      • 1.2 安裝與配置
        • 1.2.1 安裝指南
        • 1.2.2 基本配置
      • 1.3 API 概覽
        • 1.3.1 實時數據同步
        • 1.3.2 沖突解決策略
    • 2. Yjs:一個用于實時協同編輯的框架
      • 2.1 簡介
        • 2.1.1 核心功能
        • 2.1.2 使用場景
      • 2.2 安裝與配置
        • 2.2.1 安裝指南
        • 2.2.2 基本配置
      • 2.3 API 概覽
        • 2.3.1 實時數據同步
        • 2.3.2 沖突解決策略
    • 3. ProseMirror:一個用于實時協同編輯的富文本編輯器庫
      • 3.1 簡介
        • 3.1.1 核心功能
        • 3.1.2 使用場景
      • 3.2 安裝與配置
        • 3.2.1 安裝指南
        • 3.2.2 基本配置
      • 3.3 API 概覽
        • 3.3.1 富文本編輯支持
        • 3.3.2 協同編輯功能
    • 4. Conclave:一個支持語言獨立的實時協同編輯框架
      • 4.1 簡介
        • 4.1.1 核心功能
        • 4.1.2 使用場景
      • 4.2 安裝與配置
        • 4.2.1 安裝指南
        • 4.2.2 基本配置
      • 4.3 API 概覽
        • 4.3.1 多語言支持
        • 4.3.2 實時編輯功能
    • 5. Firepad:一個基于 Firebase 實現的實時協同編輯庫
      • 5.1 簡介
        • 5.1.1 核心功能
        • 5.1.2 使用場景
      • 5.2 安裝與配置
        • 5.2.1 安裝指南
        • 5.2.2 基本配置
      • 5.3 API 概覽
        • 5.3.1 Firebase集成
        • 5.3.2 協同編輯功能
    • 6. Synchronization:一個用于處理實時數據同步的 JavaScript 庫
      • 6.1 簡介
        • 6.1.1 核心功能
        • 6.1.2 使用場景
      • 6.2 安裝與配置
        • 6.2.1 安裝指南
        • 6.2.2 基本配置
      • 6.3 API 概覽
        • 6.3.1 數據同步處理
      • 6.3.2 沖突解決算法
    • 總結

1. ShareDB:一個用于實時協同編輯的數據庫

1.1 簡介

ShareDB 是一個用于實時協同編輯的數據庫,它可以讓多個用戶同時編輯共享的數據,并實時同步各自的更改。它常用于實時文檔編輯、協同文本編輯、即時通訊等場景。

1.1.1 核心功能

ShareDB 的核心功能包括實時數據同步、沖突解決、數據版本管理等。

1.1.2 使用場景
  • 實時文檔編輯
  • 協同文本編輯
  • 即時通訊

1.2 安裝與配置

ShareDB 可以通過 npm 進行安裝,并且可以方便地與 Express 等 Web 框架集成。

1.2.1 安裝指南

首先,在項目目錄中執行以下命令來安裝 ShareDB:

npm install sharedb
1.2.2 基本配置

在 Express 中使用 ShareDB,可以按照如下示例進行配置:

const express = require('express');
const ShareDB = require('sharedb');
const WebSocket = require('ws');const backend = new ShareDB();// 創建共享編輯中間件
const shareDBMiddleware = ShareDB.express.createMiddleware({ backend });const app = express();
app.use('/sharedb', shareDBMiddleware);
app.listen(3000, () => {console.log('Server started on http://localhost:3000');
});

1.3 API 概覽

ShareDB 提供了豐富的 API,主要包括實時數據同步和沖突解決策略。

1.3.1 實時數據同步

ShareDB 使用實時 WebSocket 連接來進行數據同步,具體的實現可參考官方文檔 Realtime Data Sync。

下面是一個簡單的示例,創建一個共享文檔并監聽其變化:

const doc = connection.get('documents', 'exampleDoc');
doc.subscribe((err) => {if (err) throw err;console.log('Document data:', doc.data);
});// 在文檔上進行操作
doc.submitOp([{ p: ['text', 5], si: ' ShareDB'}]);
1.3.2 沖突解決策略

ShareDB 提供了靈活的沖突解決策略,可以根據應用的需求進行定制。關于沖突解決的詳細信息,請參考官方文檔 Conflict Resolution。

以上是 ShareDB 的基本介紹、安裝配置以及 API 概覽,希望能幫助你快速了解并使用 ShareDB 進行實時協同編輯。

2. Yjs:一個用于實時協同編輯的框架

Yjs 是一個現代化的、高性能的實時協同編輯框架,它可以被集成到任何基于 JavaScript 的應用程序中。Yjs 提供了一種非常簡單的方法來實現實時數據同步,使得多個用戶可以同時編輯和查看相同的數據,并且支持沖突解決策略。

2.1 簡介

2.1.1 核心功能
  • 實時數據同步:Yjs 可以確保在多個客戶端之間實時同步數據。
  • 沖突解決策略:當多個客戶端進行并發編輯時,Yjs 提供了靈活的沖突解決策略,以確保數據的一致性。
2.1.2 使用場景

Yjs 適用于需要實現實時協同編輯功能的各種應用場景,如在線文檔協同編輯、實時筆記、團隊協作工具等。

2.2 安裝與配置

2.2.1 安裝指南

你可以通過 npm 進行安裝:

npm install yjs
2.2.2 基本配置

在使用 Yjs 之前,你需要首先初始化 Yjs 并創建一個實例:

import * as Y from 'yjs'// 創建 Yjs 實例
const ydoc = new Y.Doc()

2.3 API 概覽

2.3.1 實時數據同步

Yjs 提供了易于使用的 API 來實現實時數據同步。例如,你可以創建一個共享的文本內容:

// 創建一個共享的文本
const ytext = ydoc.getText('content')// 在文本中插入內容
ytext.insert(0, 'Hello, ')// 獲取最終的文本內容
console.log(ytext.toString()) // 輸出:Hello, World!

官網鏈接:Yjs - Real-time data sync

2.3.2 沖突解決策略

Yjs 提供了強大的沖突解決策略,以確保在多個客戶端同時對數據進行操作時,數據仍然保持一致。以下是一個沖突解決的示例代碼:

// 注冊事件監聽器以處理沖突
ytext.observe(event => {if (event.type === 'insert') {// 處理插入沖突} else if (event.type === 'delete') {// 處理刪除沖突}
})

官網鏈接:Yjs - Conflict resolution

3. ProseMirror:一個用于實時協同編輯的富文本編輯器庫

3.1 簡介

ProseMirror 是一個用于實時協同編輯的富文本編輯器庫,它提供了豐富的 API 和功能,適用于構建支持復雜協同編輯需求的編輯器應用。

3.1.1 核心功能

ProseMirror 的核心功能包括富文本編輯支持、實時協同編輯、插件擴展等。它提供了豐富的編輯功能,如文本樣式設置、列表、鏈接等,并能夠實現多人同時對文檔進行實時編輯。

3.1.2 使用場景

ProseMirror 可以被廣泛應用于需要實現富文本編輯和實時協同編輯功能的應用場景,例如協同辦公平臺、在線編輯工具、博客平臺等。

3.2 安裝與配置

使用 npm 進行安裝:

npm install prosemirror
3.2.1 安裝指南

除了主要的 prosemirror 包外,還需要安裝其他相關的依賴模塊,詳細安裝指南可以參考官方文檔.

3.2.2 基本配置

在項目中引入 ProseMirror 并完成基本配置:

import { EditorState } from "prosemirror-state";
import { EditorView } from "prosemirror-view";
import { Schema, DOMParser, DOMSerializer } from "prosemirror-model";// 創建編輯器的 schema
const mySchema = new Schema({...});// 初始化編輯器狀態
const state = EditorState.create({schema: mySchema
});// 創建編輯器視圖
const view = new EditorView(document.querySelector("#editor"), {state
});

3.3 API 概覽

ProseMirror 提供了豐富的 API 接口來支持富文本編輯和協同編輯功能。

3.3.1 富文本編輯支持

通過 ProseMirror 提供的 API,可以輕松實現富文本編輯功能,例如文本樣式設置、列表、鏈接等。以下是一個簡單的示例:

// 設置加粗
const setBold = () => {// 調用 ProseMirror API 實現加粗操作
};// 添加鏈接
const addLink = (url) => {// 調用 ProseMirror API 實現添加鏈接操作
};
3.3.2 協同編輯功能

ProseMirror 也提供了完善的協同編輯功能,可以實現多人同時對文檔進行實時編輯。以下是一個簡單的示例:

// 連接到協同編輯服務器
const connectToCollabServer = (serverURL) => {// 調用 ProseMirror API 連接到協同編輯服務器
};// 處理協同編輯事件
const handleCollabEvents = () => {// 監聽協同編輯事件,處理對應的操作
};

更多關于 ProseMirror 的 API 詳細信息可以參考官方文檔.

4. Conclave:一個支持語言獨立的實時協同編輯框架

Conclave 是一個支持多語言的實時協同編輯框架,它提供了一種簡單而強大的方式來實現多人同時編輯文檔、代碼等功能。在本節中,我們將介紹 Conclave 的核心功能、使用場景、安裝與配置以及 API 概覽。

4.1 簡介

4.1.1 核心功能

Conclave 的核心功能包括:

  • 實時協同編輯:允許多個用戶同時編輯相同的文檔、代碼或數據。
  • 多語言支持:支持多種編程語言和文檔格式,使得 Conclave 可以靈活地應用于不同的場景。
  • 自定義擴展:提供了豐富的 API 和插件系統,方便開發者根據自身需求進行定制。
4.1.2 使用場景

Conclave 可以被應用于以下場景:

  • 實時協同編輯平臺:構建類似 Google Docs 的在線協同編輯工具。
  • 在線編程教育:為學生提供實時編程環境,支持多人協同學習和編程。
  • 團隊協作工具:允許團隊成員同時編輯技術文檔、報告等內容。

4.2 安裝與配置

4.2.1 安裝指南

你可以通過 npm 來安裝 Conclave:

npm install conclave
4.2.2 基本配置

安裝完成后,你需要進行基本的配置,例如設置服務器地址、端口號等。更多配置信息,請參考官方文檔。

4.3 API 概覽

4.3.1 多語言支持

Conclave 支持多種編程語言的實時編輯,下面是一個使用 JavaScript 的示例:

const Conclave = require('conclave');const document = new Conclave.Document();
document.insert(0, 'Hello, ');
document.insert(7, 'world!');
console.log(document.toString());

更多關于多語言支持的信息,請查閱官方文檔。

4.3.2 實時編輯功能

Conclave 提供了豐富的 API 來實現實時編輯的功能。以下是一個簡單的 JavaScript 示例:

const Conclave = require('conclave');const document = new Conclave.Document();
document.on('change', (delta) => {console.log('Document changed:', delta);
});
document.insert(0, 'Hello, ');

詳細的 API 信息請參考官方文檔.

通過本文的介紹,希望能夠幫助你更好地了解 Conclave 這一實時協同編輯框架的功能和使用方法。

5. Firepad:一個基于 Firebase 實現的實時協同編輯庫

5.1 簡介

Firepad 是一個基于 Firebase 實現的實時協同編輯庫,可以輕松地將實時協同編輯功能集成到你的應用程序中。

5.1.1 核心功能
  • 實時協同編輯:多個用戶可以同時對文本進行編輯,并即時看到其他人的修改。
  • 基于 Firebase:使用 Firebase 實時數據庫來存儲和同步文本數據。
5.1.2 使用場景
  • 在線協同編輯:適用于需要多人共同編輯文檔或代碼的應用場景,如團隊協作、在線教育等。

5.2 安裝與配置

5.2.1 安裝指南

首先,在 HTML 中引入 Firepad 和 Firebase 的 JavaScript 文件:

<!-- 引入 Firebase -->
<script src="https://www.gstatic.com/firebasejs/8.0.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.0.0/firebase-database.js"></script><!-- 引入 Firepad -->
<script src="https://cdn.firebase.com/libs/firepad/1.6.0/firepad.min.js"></script>
5.2.2 基本配置

初始化 Firebase 應用并獲取一個數據庫引用:

// 初始化 Firebase 應用
var firebaseConfig = {apiKey: "YOUR_API_KEY",authDomain: "YOUR_AUTH_DOMAIN",databaseURL: "YOUR_DATABASE_URL",projectId: "YOUR_PROJECT_ID",storageBucket: "YOUR_STORAGE_BUCKET",messagingSenderId: "YOUR_MESSAGING_SENDER_ID",appId: "YOUR_APP_ID"
};firebase.initializeApp(firebaseConfig);// 獲取數據庫引用
var firebaseRef = firebase.database().ref();

5.3 API 概覽

5.3.1 Firebase集成

首先,創建一個 Firepad 編輯器并將其綁定到特定的 DIV 元素上:

// 創建 Firepad 編輯器
var firepadRef = firebaseRef.child("firepad");
var codeMirror = CodeMirror(document.getElementById('firepad-container'), {lineNumbers: true
});
var firepad = Firepad.fromCodeMirror(firepadRef, codeMirror, {richTextShortcuts: true,richTextToolbar: true
});
5.3.2 協同編輯功能

通過 Firepad 提供的 API,可以輕松實現協同編輯功能。以下是一個簡單的示例,演示了如何監聽文本變化事件:

// 監聽文本變化事件
firepad.on('synced', function(isSynced) {if (isSynced) {console.log('文本已同步');} else {console.log('文本同步中');}
});

更多關于 Firepad 的信息,請訪問官方網站:Firepad

6. Synchronization:一個用于處理實時數據同步的 JavaScript 庫

6.1 簡介

Synchronization 是一個用于處理實時數據同步的 JavaScript 庫,它提供了豐富的功能和靈活的配置選項,可以幫助開發者輕松實現數據同步、沖突解決等操作。

6.1.1 核心功能

Synchronization 的核心功能包括:

  • 實時數據同步
  • 沖突解決算法
  • 靈活的配置選項
6.1.2 使用場景

Synchronization 適用于需要處理實時數據同步的場景,比如在線協作編輯、實時聊天、多人游戲等。

6.2 安裝與配置

使用 npm 可以很容易地安裝 Synchronization 庫。

6.2.1 安裝指南

通過 npm 安裝 Synchronization:

npm install synchronization --save
6.2.2 基本配置

在使用 Synchronization 之前,需要先進行基本的配置,如初始化連接、設置認證信息等。以下是一個簡單的示例:

const sync = require('synchronization');// 初始化連接
sync.init({server: 'ws://your-server-url',token: 'your-auth-token'
});// 設置認證信息
sync.setAuth({userId: 'user-id'
});

6.3 API 概覽

6.3.1 數據同步處理

Synchronization 提供了豐富的 API 來處理數據同步,包括數據發送、接收、更新等操作。下面是一個簡單的示例:

// 發送數據
sync.sendData({type: 'message',content: 'Hello, world!'
});// 監聽數據接收
sync.on('data', (data) => {console.log('Received data:', data);
});// 更新數據
sync.updateData({id: 'data-id',content: 'Updated content'
});

更多關于數據同步處理的詳細信息,請參考 Synchronization 官方文檔.

6.3.2 沖突解決算法

Synchronization 提供了靈活的沖突解決算法,開發者可以根據自身需求定制沖突解決策略。

sync.conflictResolver = (localData, remoteData) => {// 自定義的沖突解決算法// 返回經過處理后的數據
};

更多關于沖突解決算法的詳細信息,請參考 Synchronization 官方文檔。

總結

實時協同編輯已經成為許多應用程序不可或缺的功能之一。選擇合適的實時協同編輯庫或框架對于項目的順利實施至關重要。通過本文對ShareDB、Yjs、ProseMirror、Conclave、Firepad和Synchronization的介紹,讀者可以更好地理解這些工具的優勢和適用場景,為其項目的實時協同編輯功能選擇最佳解決方案。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44214.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44214.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44214.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

自建搜索引擎-基于美麗云

Meilisearch 是一個搜索引擎&#xff0c;主程序完全開源&#xff0c;除了使用官方提供的美麗云服務&#xff08;收費&#xff09;進行對接之外&#xff0c;還可以通過自建搜索引擎來實現完全獨立的搜索服務。 由于成本問題&#xff0c;本博客采用自建的方式&#xff0c;本文就…

通過git將文件push到github 遠程倉庫

1.先git clone 代碼地址 git clone htttp://github.com/用戶名/test.git 2. 添加文件 例如&#xff1a;touch 1.txt 3.將文件添加到暫存區 git add 1.txt 4.提交 git commit -m "commit 1.txt" 5.與遠程倉庫建立關聯 git remote add 遠程倉庫名 遠程倉庫…

(2024)docker-compose實戰 (9)部署多項目環境(LAMP+react+vue+redis+mysql+nginx)

前言 本系列最初的想法就是搭建一個多項目的環境, 包含nginx, nodejs, php, html, redis, MongoDB, mysql.本文使用的PHP鏡像為php:7.3.6-apache, 這里可以使用上一篇文章中生成好的鏡像.LAMP或包含react或vue的前端項目, 本文就各寫了一個, 可以按照實際需求, 自行添加多個容…

LLM 研究方向(一): LLM Prompts--p-tuning、LoRA

目錄 1. prompt-tuning background 2. Prompt Tuning 模型介紹 2.1 2021 prefix-tuning 2.2 2021 P-tuning v1 2.3 2021 Parameter-efficient prompt tuning (PET) 2.4 2022 P-tuning v2 2.5 2019 Adapter ?2.6 2021 LoRA (Low-Rank Adaptation) 2.7 2024 DoRA (…

詳解[USACO07OPEN] Cheapest Palindrome G(洛谷PP2890)(區間DP經典題)

題目 思路 考慮區間DP。 設dp[i][j]為從i到j這段區間被修正為回文串的最小花費 c[cc][1]為添加字符cc的花費 c[cc][2]為刪去字符cc的花費 s為題目給出的字符串。 用[i 1,j]區間轉移&#xff1a;這種轉移相當于在[i1,j]區間的左邊加入一個字符&#xff0c;讓[i,j]變為回文的方…

SQL 游標

關系數據庫中的操作會對整個行集起作用。 例如&#xff0c;由 SELECT 語句返回的行集包括滿足該語句的 WHERE 子句中條件的所有行。 這種由語句返回的完整行集稱為結果集。 應用程序&#xff0c;特別是交互式聯機應用程序&#xff0c;并不總能將整個結果集作為一個單元來有效地…

安裝Go語言常用工具

好的&#xff0c;這里是常用的Go工具&#xff0c;包括下載地址、在線安裝指令和離線安裝步驟。 1. gopls (Go language server) 功能: 提供代碼補全、跳轉定義、文檔提示等IDE功能。 下載地址: golang.org/x/tools/gopls 在線安裝命令 : sh 復制代碼 go install golang.org/…

云倉適合什么商家?

1、電商平臺和網店&#xff1a; 對于擁有大量在線訂單但沒有自建倉儲和物流能力的小型和中型電商企業&#xff0c;云倉可以在成本和效率上提供顯著優勢&#xff0c;幫助快速處理訂單并縮短配送時間。 —————————————————————————————————— …

根據關鍵詞query獲取google_img(api方式)

文章目錄 說明代碼第一部分&#xff1a;鏈接保存為Json第二部分&#xff1a;鏈接轉換為img 說明 根據關鍵詞query獲取google_img USERNAME “xxx” PASSWORD “xxx” 官網申請。 代碼 首先獲取圖片鏈接&#xff0c;保存為json之后下載。 第一部分&#xff1a;鏈接保存為…

.net 8 使用 quic 協議通訊

debian環境安裝 quic支持 # 1. 添加unstable倉庫&#xff08;如果您使用的是Debian的不穩定分支&#xff09; sudo apt install apt-transport-https ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/microsoft.gpg https://packages.microsoft.com/keys/microsoft.asc …

【獨家揭秘】視頻號矩陣系統火爆上線,一鍵式多平臺管理,你的內容營銷神器!

在信息爆炸的時代&#xff0c;內容創作者們面臨著前所未有的挑戰與機遇。如何讓自己的內容在眾多平臺中脫穎而出&#xff0c;快速傳播并吸引大量觀眾&#xff0c;成為了每個創作者關注的焦點。近日&#xff0c;一款名為“迅狐視頻號矩陣系統”的神器震撼來襲&#xff0c;它以其…

UV膠,它是否有毒?如同那些隱藏在黑暗中的危險之物?

UV膠&#xff0c;它是否有毒&#xff1f;如同那些隱藏在黑暗中的危險之物&#xff1f; 關于uv膠的毒性問題&#xff0c;或許我們可以這樣深入探討。UV膠&#xff0c;如同一位戴著神秘面紗的訪客&#xff0c;在我們的生活中悄然出現&#xff0c;卻帶著諸多疑問。那么&#xff0…

二維碼生成需知:名片二維碼尺寸多少合適?電子名片二維碼制作方法?

隨著數字化時代的到來&#xff0c;二維碼在各個領域的應用越來越廣泛&#xff0c;名片作為商業交流的重要工具之一&#xff0c;也開始逐漸融入二維碼的元素。通過在名片上添加二維碼&#xff0c;我們可以輕松實現信息的快速傳遞和分享。然而&#xff0c;名片二維碼的尺寸選擇成…

Monorepo倉庫管理策略之 Lerna

這里寫目錄標題 前言&#xff1a;一、簡介二、新建項目使用安裝生成結構 三、復用現有項目執行命令查看包 四、配置package相互引用導入現有的包 五、發布包確定項目版本發布項目添加項目到到git發布包到NPM包發布出錯解決方案 五、實例代碼 前言&#xff1a; 將大型代碼倉庫分…

Python 與扣子 API的鏈接

當 Python 與各種 API 進行鏈接時&#xff0c;更是能碰撞出無數精彩的火花&#xff0c;為我們的開發工作帶來極大的便利和創新。今天&#xff0c;咱們就來聊聊 Python 與扣子 API 的鏈接那些事兒。 扣子 API 作為一種新興的技術接口&#xff0c;為我們提供了豐富的數據和功能。…

文心一言的流式接口數據進行處理 增加屬性

需求&#xff1a;需要對文心一言的流式接口數據進行處理 增加屬性 return ResponseEntity.ok().header("Access-Control-Allow-Origin", "*").contentType(org.springframework.http.MediaType.TEXT_EVENT_STREAM).cacheControl(org.springframework.http…

python調用串口收發數據

1、確認串口信息 2、安裝pyserial庫 打開終端或命令行&#xff0c;敲入這行命令&#xff1a;pip install pyserial 3、python編程 import serial def main(): #創建串口對象 ser serial.Serial(COM4, 9600, timeout1) if not ser.isOpen(): print("串…

飛睿智能6公里WiFi圖傳接收模塊,低延遲、抗干擾、高速穩定傳輸數據,無人機、農田遠距離WiFi模塊

在科技日新月異的今天&#xff0c;無線通信技術正以前所未有的速度發展&#xff0c;不僅改變了我們的生活方式&#xff0c;還為企業帶來了前所未有的商業機遇。今天&#xff0c;我要向大家介紹一款飛睿智能的產品——6公里WiFi圖傳接收模塊&#xff0c;它以其高性能、穩定的傳輸…

【常見的設計模式】單例模式

參考&#xff1a;【設計模式專題之單例模式】1.小明的購物車 【設計模式專題之單例模式】 1.小明的購物車 時間限制&#xff1a;1.000S 空間限制&#xff1a;256MB ? 題目描述 小明去了一家大型商場&#xff0c;拿到了一個購物車&#xff0c;并開始購物。請你設計一個購物車管…

【React】基礎數據回填--useForm與setFieldsValue詳解

相關屬性 1.form 2.setFieldsValue 代碼 import{Form }from"antd";const Publish =