我的代码在运行时可以工作npm run dev,但是当我构建它时,它会出现此错误。根据文档,我需要在 tsconfig.json 中将目标设置为 ES2017 或更高版本,但我正在使用 ESNEXT,我相信它是兼容的
tsconfig.json
{
"compilerOptions": {
"target": "ESNext",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"allowJs": false,
"skipLibCheck": false,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "Node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react"
},
"include": ["./src"]
}
Run Code Online (Sandbox Code Playgroud) 我正在学习 React js 并使用 socket.io 制作一个聊天应用程序,但我遇到了这个问题,它记录每条消息的次数不断增加
这是我的 socketio 代码
import React, { useState } from 'react'
import io from "socket.io-client"
const socket = io("https://Wyvern-API.huski3.repl.co/api/chat")
socket.on('connect', () => {
socket.emit('joined', { 'serverchannel': 120 })
console.log("Connected")
})
function socketio() {
const [hello, setCount] = useState("0")
socket.on('message', (data) => {
setCount(data.content)
console.log(data.content)
})
return (
<div>
<h1>{hello}</h1>
</div>
)
}
export default socketio
Run Code Online (Sandbox Code Playgroud)
我使用 useEffect 来阻止它在测试期间向用户界面发送垃圾邮件,但我不知道如何解决这个问题的根源