首页 > 解决方案 > 将数据传递给组件时出现未定义的错误

问题描述

我有两个组件,我想将数据从其他组件传递给组件。我正在尝试使用此代码,但出现此错误:

未捕获的类型错误:无法读取未定义的属性(读取“参数”)

它正在发送数据,但发送的是空的。我该如何解决这个问题?

front.layout.js

import Profile from '../../Views/profile'

const [user, setUser] = useState({});

 return (
    <>
       <Profile values={user} />
    </>
 )

index.js

import Layout from "../../Components/layouts/front.layout";

const Profile = (props) => {
    const { params } = props.match;
    .
    . 
    .
}

标签: reactjs

解决方案


这里有几点需要注意:

以下user以空对象启动,因此您不能从中解构。

const [user, setUser] = useState({});

然后,您将传递名为 的道具values,其值为user.

因此,在您的容器中,您可以设置参数的默认值。

const [user, setUser] = useState({ params: {} });

然后在你的组件中你可以解构它(从prop.values

const Profile = (props) => {
    const { params } = props.values;
    .
    . 
    .
}

推荐阅读