如何解决Reactjs:状态重置
我正在使用 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 举报,一经查实,本站将立刻删除。