Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用react和redux通过数据库获取值时出错_Reactjs_Express_Redux - Fatal编程技术网

Reactjs 使用react和redux通过数据库获取值时出错

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

这里是错误!显示在服务器端

TypeError:无法读取未定义的属性“first_name”

前端组件值也不会更改

这是密码

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]);

它起作用了。非常感谢你!很乐意帮忙:)