刷新后页面登录态清空了,websocket断开了,需要重新链接,
我用cookie 存了之前的房间名,用rejoinRoom方法重新加入原先房间:
// 注册连接成功事件
play.on(Event.CONNECTED, () => {
this.setState({
signIn: true
})
if (Cookies.get('old_room')) {
play.rejoinRoom(Cookies.get('old_room'));
}
});
然后触发加入房间事件:
// 注册加入房间成功事件
play.on(Event.ROOM_JOINED, () => {
Cookies.set("old_room",play.room.name, { expires: 0.1 })
let props = play.room.getCustomProperties()
this.setState({
gameData: props,
roomIn : true,
playerList : play.room.playerList
})
let pls = play.room.playerList.map((i)=>{
return i.getCustomProperties()
})
console.log("p_1",play.room.playerList)
console.log("p_2",pls)
});
上述代码最后两种方式打印出来的数据,均没有同步之前的玩家自定义数据。
我现在不清楚为什么play对象没有同步play.room.playerList数据?