如何解决我的反应状态变量在使用 websocket 时没有更新
你好,我正在使用 websocket 来获取我的数据,问题是当我尝试将数据保存到我的状态时,反应组件正在按预期重新渲染,但我的数据没有保存在状态变量中
export default function ResultPageContent() {
const processed = useSelector((state) => state.processedSlice);
const [data,setData] = useState({});
const fetchData = (links) => {
const socket = new webSocket("ws://localhost:5000/");
socket.onopen = () => {
socket.send(JSON.stringify(links));
};
socket.onmessage = ({ data }) => {
const tempData = JSON.parse(data);
setData(tempData);
};
socket.onclose = () => {};
};
const renderContent = () => {
if (data.per < 100) {
return <CircularProgressWithLabel value={data.per} />;
}
};
if (processed) {
console.log("links",links);
fetchData(links);
dispatch(MAKE_FALSE());
}
return (
<div>
<Paper
style={{
width: "100%",background: theme.palette.background.default,marginBottom: "50px",}}
className={classes.root}
>
{renderContent()}
</Paper>
</div>
);
}```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。