Cara membina aplikasi sembang masa nyata menggunakan React dan WebSocket
Pengenalan:
Dengan perkembangan pesat Internet, komunikasi masa nyata telah menarik lebih banyak perhatian. Apl sembang langsung telah menjadi sebahagian daripada kehidupan sosial dan kerja moden. Artikel ini akan memperkenalkan cara membina aplikasi sembang masa nyata yang ringkas menggunakan React dan WebSocket, dan memberikan contoh kod khusus.
1. Persediaan teknikal
Sebelum kami mula membina aplikasi sembang masa nyata, kami perlu menyediakan teknologi dan alatan berikut:
2. Tetapan projek
Buat aplikasi React
Gunakan arahan create-react-app dalam baris arahan untuk mencipta aplikasi React baharu:
npx create-react-app chat-app
Memasang kebergantungan projek berikut
dependencies:
cd chat-app npm install socket.io-client express
3. Tetapan pelayan
Buat fail pelayan
Buat fail bernama server.js dan tambah kod berikut:
const express = require('express'); const http = require('http'); const app = express(); const server = http.createServer(app); const io = require('socket.io')(server); io.on('connection', (socket) => { console.log('a user connected'); socket.on('disconnect', () => { console.log('user disconnected'); }); socket.on('chat message', (msg) => { io.emit('chat message', msg); }); }); server.listen(4000, () => { console.log('listening on *:4000'); });
Mulakan pelayan untuk arahan berikut
R mulakan pelayan :
node server.js
IV. Tetapan pelanggan
Buat komponen sembang
Buat fail bernama Chat.js dalam direktori src dan tambah kod berikut:
import React, { useState, useEffect } from 'react'; import io from 'socket.io-client'; const socket = io('http://localhost:4000'); const Chat = () => { const [messages, setMessages] = useState([]); const [message, setMessage] = useState(''); useEffect(() => { socket.on('chat message', (msg) => { setMessages([...messages, msg]); }); }, [messages]); const handleSendMessage = () => { socket.emit('chat message', message); setMessage(''); }; return ( <div> <div> {messages.map((msg, index) => ( <p key={index}>{msg}</p> ))} </div> <input type="text" value={message} onChange={(e) => setMessage(e.target.value)} /> <button onClick={handleSendMessage}>Send</button> </div> ); }; export default Chat;
import React from 'react'; import Chat from './Chat'; const App = () => { return ( <div> <h1>Real-time Chat Application</h1> <Chat /> </div> ); }; export default App;
Jalankan aplikasi
npm start
5 . Aplikasi Ujian
Kesimpulan:
Atas ialah kandungan terperinci Cara membina apl sembang masa nyata dengan React dan WebSocket. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!