在我正在运行的 Web 应用程序中,我突然开始收到这些奇怪的标记,末尾包含一大串句点。
即使我绕过应用程序代码并直接从 Google OAuth 库调用该函数,也会发生这种情况。
这是一个示例令牌:
ya29.c.Kp8BCgi0lxWtUt-_[Normal JWT stuff, redacted for security]yVvGk...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Run Code Online (Sandbox Code Playgroud)
这可能是 Google OAuth 的上游问题吗?还有人见过这样的代币吗?
目标:
我正在尝试通过 websocket 连接从服务器获取消息,并将它们添加到名为 的对象数组中outgoingMessages
。
问题:
调用outgoingMessages
时仅保存最新消息。receive()
我怀疑会发生这种情况,因为仅使用我致电时Websocket.onmessage
的值。我已经尝试摆弄它很多次,但我无法解决这个问题。outgoingMessages
connect()
我怎样才能receive()
使用当前状态,而不是初始状态?
提前致谢。
const Dashboard = () => {
const [incomingMessages, setIncomingMessages] = React.useState([]);
const ws = React.useRef(null);
const receive = (message) => {
setIncomingMessages([...incomingMessages, message]);
};
const connect = () => {
ws.current = new WebSocket(WS_URL + "mqtt/ws/messages");
ws.current.onopen = () => setWsConnected(true);
ws.current.onclose = () => setWsConnected(false);
ws.current.onmessage = (event) => receive(event);
};
return (<>Stuff</>)
}
Run Code Online (Sandbox Code Playgroud) closures websocket reactjs react-state-management react-hooks