gpt4 book ai didi

node.js - useContext 不存储我的数据并为我提供默认的偶数集

转载 作者:行者123 更新时间:2023-12-04 07:22:03 24 4
gpt4 key购买 nike

我有问题,我已经设置了 useContextuseState提供程序中的值,但是当我导入它们并尝试更改值时,它会在本地更改而不是全局更改!
登录.js

import { UserContext } from './context/UserContext';


const loginD = (setStatue , username , password, user , setUser) => {
axios.post("http://localhost:5050/login", {
username : username,
password : password
}).then(response =>{
if(response.data.statue)
{
setStatue(response.data.statue);
}
if(response.data.message)
{
setUser({
...user,
_id : response.data.message[0].id,
username : response.data.message[0].username,
password : response.data.message[0].password,
name : response.data.message[0].name
})
console.log(user);//{id : "the id", username : "username" , password : "password"}
localStorage.setItem("jwt", "logged in");
setStatue("Succesfully Logged in");
}
})
}
主页.js
const Home = () => {
const [user , setUser] = useContext(UserContext);
return (
<div>
{console.log(user)} //{id:"",username:"",password:""}
<p>Hello {user.username}</p>
</div>
)
}
用户上下文.js
import React , {useState ,createContext} from "react";


export const UserContext = createContext({});

export const UserProvider = (props) => {
const [user , setUser] = useState(
{
_id : "",
username : "",
password : "",
name : ""
}
);
return(
<UserContext.Provider value = {[user, setUser]}>
{props.children}
</UserContext.Provider>
);
};
它实际上给了我 useState 的默认值多变的
有人可以向我解释什么是错误的!
谢谢

最佳答案

我建议重读 useContext文档。虽然您的问题并不清楚,但我觉得您很想念 UserContext.Provider并且没有正确使用上下文。您还提到您正在使用 useState但你没有告诉我们在哪里。

关于node.js - useContext 不存储我的数据并为我提供默认的偶数集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68432030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com