我有一个 React 应用程序,我使用 socket.io 进行实时消息传递。我试图在所有反应功能组件中使用通用套接字对象,但在事件处理函数中我无法访问状态对象。
配置:
var socket = io(socketEndPoint)
socket.emit('register', cookies)
export { socket }
Run Code Online (Sandbox Code Playgroud)
聊天组件:
import {socket} from './Config'
export default function ChatComponent(props) {
const [chats, setChat] = React.useState([{chat_id: 1234}])
socket.on('message', (data) => {
console.log(data)
console.log(chats)
})
}
Run Code Online (Sandbox Code Playgroud)
console.log(chats) 始终打印一个空数组。
我尝试使用 Context Api 但仍然没有帮助。有什么方法可以访问反应状态。提前致谢。