Javascript 修改localStorage会导致跨源错误

Javascript 修改localStorage会导致跨源错误,javascript,reactjs,react-hooks,react-context,Javascript,Reactjs,React Hooks,React Context,我正在使用reactjs制作一个web应用程序,当开发突然停止时,会出现以下错误:“引发了一个跨源错误。React无法访问开发中的实际错误对象”。我将AuthContext witch将用户数据提供给localStorage: const AuthProvider = ({ children }) => { const token = localStorage.getItem("token"); const userInfo = lo

我正在使用reactjs制作一个web应用程序,当开发突然停止时,会出现以下错误:“引发了一个跨源错误。React无法访问开发中的实际错误对象”。我将AuthContext witch将用户数据提供给localStorage:

 const AuthProvider = ({ children }) => {
    
      const token = localStorage.getItem("token");
      const userInfo = localStorage.getItem("userInfo");
      const expiresAt = localStorage.getItem("expiresAt");
    
      const [authState, setAuthState] = useState({
        token,
        expiresAt,
        userInfo: userInfo ? JSON.parse(userInfo) : {},
      });
    
      const setAuthInfo = ({ token, userInfo, expiresAt }) => {
        localStorage.setItem("token", token);
        localStorage.setItem("userInfo", JSON.stringify(userInfo));
        localStorage.setItem("expiresAt", expiresAt);
    
        setAuthState({
          token,
          userInfo,
          expiresAt,
        });
      };
    
     
不幸的是,我在更新用户详细信息时遇到问题。 在上下文中,我做了另一个函数:

编辑:我忘了在函数执行后写入userDetails更改为undefined,因此我得到了一个跨原点错误

const setUserInfo = ({  userInfo }) => {
        localStorage.removeItem("userInfo");
        localStorage.setItem("userInfo", JSON.stringify(userInfo));
        

        setAuthState({
          userInfo,
        });
      };
我有rest api路线来更新详细信息,示例性响应:

{
    "success": true,
    "user": {
        "role": role,
        "_id": id,
        "username": name,
        "email": email,
        "createdAd": createdAt,
        "__v": 0
    }
}
以及用户登录时的用户rest api响应,例如:

{
    "success": true,
    "token": token,
    "expiresAt": expiresAt,
    "userInfo": {
        "role": role,
        "_id": id,
        "username": name,
        "email": email,
        "_id": id
    }
}
更新详细信息在我调用它时起作用,但在我收到跨站点错误后

这里是提交函数

const handleUpdate = async (info) => {
    setError("");
    setLoading(true);

    try {
      const { data } = await fetchContext.authAxios.put(
        "http://localhost:5000/api/v1/auth/update-details",
        info
      );
      const user = data.user;
      console.log(user);
      auth.setUserState(data);
      setError(null);

      setLoading(false);
    } catch (err) {
      setLoading(false);
      // const { data } = err.response;
      // setError(data.error);
      console.log(err);
    }
  };
好吧,我是哑巴

const setUserInfo = ({  userInfo }) => {};
应该是

const setUserInfo = ( userInfo ) => {};