我有一个React应用程序,其中使用socket.io进行实时消息传递。我试图在所有React函数组件中使用常见的socket对象,但在事件处理程序函数中,我无法访问状态对象。
配置:
var socket = io(socketEndPoint)
socket.emit('register', cookies)
export { socket }
聊天组件:
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)
})
}
console.log(chats)总是打印一个空数组。
我尝试使用Context Api,但仍然没有帮助。有没有办法访问React状态。先谢谢了。