Commit 88001a09 authored by Chunchi Che's avatar Chunchi Che

add JoinHome.tsx and update App.tsx

parent 364f476a
import React from "react"; import React from "react";
import "./App.css"; import "./App.css";
import "./api/ocgcore"; import "./api/ocgcore";
import JoinHome from "./JoinHome";
function App() { function App() {
// test
const ws = new WebSocket("ws:/localhost:8000");
console.log("websocket connected!");
ws.onmessage = e => {
console.log("websocket recv: " + e.data);
};
return ( return (
<div className="App"> <div className="App">
<header className="App-header"> <header className="App-header">
<p>Welcome to neos-ts!</p> <JoinHome addr="ws://localhost:8000" />
<a
className="App-link"
href="https://github.com/DarkNeos"
target="_blank"
rel="noopener noreferrer"
>
DarkNeos
</a>
</header> </header>
</div> </div>
); );
......
import React, { useState, useEffect } from "react";
export default function JoinHome(props: { addr: string }) {
const [isConnected, setConnected] = useState(false);
const [message, setMessage] = useState("");
useEffect(() => {
const ws = new WebSocket(props.addr);
ws.onopen = () => {
console.log("websocket open");
setConnected(true);
};
ws.onclose = () => {
console.log("websocket closed");
setConnected(false);
};
ws.onmessage = (e) => {
const msg = e.data;
setMessage(msg);
};
return () => ws.close();
}, []);
return (
<div>
<p>{"isConnected: " + isConnected}</p>
<p>{"message: " + message}</p>
</div>
);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment