Javascript 不确定我是否正确创建了进度加载/错误功能

Javascript 不确定我是否正确创建了进度加载/错误功能,javascript,reactjs,use-effect,Javascript,Reactjs,Use Effect,我目前正试图找出如何正确地为我的应用程序创建加载功能。当用户查找并提交任何歌曲时,它会为歌曲创建一个可视化视频。因此,只要点击提交按钮,应用程序就会显示正在创建/加载视频的指示,然后将用户发送到单独的页面以查看视频 所以我要做的是,当处于加载状态时,它应该检查服务器上特定视频id的“location”值是否等于“loading”。或者,如果该值变为“error”,则应停止尝试重新渲染,并将其保留为孤立对象。否则,如果视频已完成,则应重新呈现页面,不再检查服务器 到目前为止,这就是我所拥有的 加载

我目前正试图找出如何正确地为我的应用程序创建加载功能。当用户查找并提交任何歌曲时,它会为歌曲创建一个可视化视频。因此,只要点击提交按钮,应用程序就会显示正在创建/加载视频的指示,然后将用户发送到单独的页面以查看视频

所以我要做的是,当处于加载状态时,它应该检查服务器上特定视频id的“location”值是否等于“loading”。或者,如果该值变为“error”,则应停止尝试重新渲染,并将其保留为孤立对象。否则,如果视频已完成,则应重新呈现页面,不再检查服务器

到目前为止,这就是我所拥有的 加载进度.js

import React, { useEffect } from "react";
import { connect, useSelector } from "react-redux";
import SoloVideoPage from "./SoloVideoPage";
import Loading from "./Loading";

function VideoProgress({ isLoading, location }) {
  useEffect(() => {
    if (isLoading && location === 0) {
      return <Loading />;
    }
    if ((location = "url")) {
      return <SoloVideoPage />;
    }
  }, [location, isLoading]);
}

const mapStateToProps = (state) => ({
  isLoading: state.postVideo.isLoading,
  location: state.postVideo.location,
});

export default connect(mapStateToProps, null)(VideoProgress);
import React,{useffect}来自“React”;
从“react-redux”导入{connect,useSelector};
从“/SoloVideoPage”导入SoloVideoPage;
从“/Loading”导入加载;
函数VideoProgress({isLoading,location}){
useffect(()=>{
如果(isLoading&&location==0){
返回;
}
如果((location=“url”)){
返回;
}
},[位置,卸载];
}
常量mapStateToProps=(状态)=>({
isLoading:state.postVideo.isLoading,
位置:state.postVideo.location,
});
导出默认连接(MapStateTops,null)(VideoProgress);

我不确定是否正确设置了进度组件。非常感谢您的帮助。

我想您不需要使用useEffect

import React, { useEffect } from "react";
import { connect, useSelector } from "react-redux";
import SoloVideoPage from "./SoloVideoPage";
import Loading from "./Loading";

function VideoProgress({ isLoading, location }) {
    if (isLoading && location === 0) {
      return <Loading />;
    }
    return <SoloVideoPage />;
}

const mapStateToProps = (state) => ({
  isLoading: state.postVideo.isLoading,
  location: state.postVideo.location,
});

export default connect(mapStateToProps, null)(VideoProgress);
import React,{useffect}来自“React”;
从“react-redux”导入{connect,useSelector};
从“/SoloVideoPage”导入SoloVideoPage;
从“/Loading”导入加载;
函数VideoProgress({isLoading,location}){
如果(isLoading&&location==0){
返回;
}
返回;
}
常量mapStateToProps=(状态)=>({
isLoading:state.postVideo.isLoading,
位置:state.postVideo.location,
});
导出默认连接(MapStateTops,null)(VideoProgress);

问题描述不充分,尤其是对于这一数量的代码。另一个问题不正确,您无法执行此操作“如果((location=“url”)”,您只能与“==”或“==”语句进行比较