Reactjs 使用react和redux通过数据库获取值时出错
这里是错误!显示在服务器端 TypeError:无法读取未定义的属性“first_name” 前端组件值也不会更改 这是密码Reactjs 使用react和redux通过数据库获取值时出错,reactjs,express,redux,Reactjs,Express,Redux,这里是错误!显示在服务器端 TypeError:无法读取未定义的属性“first_name” 前端组件值也不会更改 这是密码 const [firstName,changeName] = useState(""); const [username,changeUsername] = useState(""); const user = useSelector(state => state.User); const [id,ch
const [firstName,changeName] = useState("");
const [username,changeUsername] = useState("");
const user = useSelector(state => state.User);
const [id,changeId] = useState(user.id);
React.useEffect(()=>{
axios.get(url+id).then(function(response){
console.log("First Name");
console.log(id);
changeName(response.data[0].first_name);
});},[]);
get方法没有错误。在实现此代码之前,我检查了它们。有人能帮我解决这个问题吗?您没有将用户状态作为依赖项添加到useEffect,您的效果将不会得到更新的值 试试这个:
const [firstName,changeName] = useState("");
const [username,changeUsername] = useState("");
const user = useSelector(state => state.User);
const [id,changeId] = useState(user.id);
React.useEffect(()=>{
axios.get(url+user.id).then(function(response){
console.log("First Name");
console.log(id);
changeName(response.data[0].first_name);
});},[user]);
它起作用了。非常感谢你!很乐意帮忙:)