javascript - 子组件 props 是空的,尽管它们是从父组件传递的
问题描述
我尝试获取openMenu
从父函数到子函数的值,但子函数中的props.value
值为空,我不明白为什么。
function Child({ routes }, props) {
return (
<div>{props.value}</div> /*This is empty*/
)
}
function Parent() {
const [isOpen, setOpen] = useState({
isOpen: false
});
const handleClick = e => {
e.preventDefault();
setOpen(isOpen => !isOpen);
if(isOpen === true) {
const openMenu = 'open';
return <Child value={openMenu}/>;
}
else {
const openMenu = 'close';
return <Child value={openMenu} />
}
};
}
我想获取openMenu
Child 组件的打开或关闭的值。
解决方案
Props 是函数组件中的第一个参数。
function Child(props) {
return (
<div>{props.value}</div>
)
}
如果您正在尝试解构routes
,props
您可以使用其余模式 ( ...
) 来获取所有其他道具。
function Child({ routes, ...props }) {
return (
<div>{props.value}</div>
)
}
推荐阅读
- javascript - 内部的 HML 表仅提供包含完整数据的单个数据
- ruby-on-rails - Rails 5.2 使用 AWS 的主动存储(本地开发)
- mysql - 如何同步调用 google-bigquery 删除和插入 API?
- javascript - 如何从 lambda 函数中传递数据
- java - MySql count (*) 在 ResultSet 和 WorkBench 中返回不同的值
- events - 在 VBScript 中处理 COM 事件取消
- c++ - 什么是 C++ 中的“变量‘i’未在范围内声明”?
- java - JPA @JoinColumn 无法与 REST 一起正常工作
- powershell - PowerShell Get-ADUser CSV 导出不起作用
- python - 获取用户列表:除了正在寻找用户/登录用户的用户