reactjs - 将数据传递给组件时出现未定义的错误
问题描述
我有两个组件,我想将数据从其他组件传递给组件。我正在尝试使用此代码,但出现此错误:
未捕获的类型错误:无法读取未定义的属性(读取“参数”)
它正在发送数据,但发送的是空的。我该如何解决这个问题?
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;
.
.
.
}
解决方案
这里有几点需要注意:
以下user
以空对象启动,因此您不能从中解构。
const [user, setUser] = useState({});
然后,您将传递名为 的道具values
,其值为user
.
因此,在您的容器中,您可以设置参数的默认值。
const [user, setUser] = useState({ params: {} });
然后在你的组件中你可以解构它(从prop.values
)
const Profile = (props) => {
const { params } = props.values;
.
.
.
}
推荐阅读
- etherpad - Etherpad:如何从 etherpad 捕获选定的文本
- python - 如何指定烧瓶应该存储cookie的位置(烧瓶会话)
- azure - Azure 表备份检索超过 1000 行
- javascript - 从api导入json数据到after effect
- sql - 提取 Oracle DB 中的 table_name、column_name、data_type、data_length 和值示例
- java - 如何通过命令行设置编译器:sys.fullName?
- linkedin-api - Linkedin API 请求 dateRange 今天或现在结束
- display - FreeRDP 是否支持动态屏幕大小的显示更新通道
- javascript - 五彩纸屑掉落动画问题透明胶片
- ios - 如何在 iOS 14+ 应用程序中创建自定义文档图标