问题描述
我正在使用 socket.io 从 websocket 获取一些数据。我可以使用一次状态的值,但是当我尝试访问状态的值时,我变得未定义。
这是更新状态的函数:
const [selectedplayer,setSelectedplayer] = useState();
socket.on("setSelectedplayer",selectedUsername => {
setSelectedplayer(selectedUsername);
})
当我在这里访问它时,我得到了预期值:
{
gameStarted &&
<div className="gameLobby">
Current Turn is of {selectedplayer};
Current Positives {positives};
Current Votes {currentActions};
<div className="chatBox">
.......Other Stuff
</div>
</div>
}
但是当我尝试在这里访问它时,我得到了 undefined
:
socket.on("setGameResult",res => {
if(res = 1){
setChats(prevChats => ([...prevChats,`${selectedplayer} has passed :)`]));
}
})
P.S.:更新状态的函数在 useEffect
内(IDK,如果有任何区别)
您可以在我的 GitHub
上找到完整代码您可以在以下位置找到更新状态的函数:
DAREEE/src/components/room.jsx on line 43
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)