javascript - 如何通过子组件中的onClick事件将特定数据的ID从子组件发送到父组件
问题描述
这是我的反应组件,我正在渲染一个虚拟数据列表。在单击 div 时,我想通过 onClick 事件将该特定课程的 id 发送到我的父组件。但我没有得到如何从孩子发送数据以及如何在父母中捕获它。
孩子:
import React, { useState } from "react";
import classes from "./Modules.module.css";
import { COURSES_DATA } from "../../data/dummy_course_data";
const Modules = (props) => {
const moduleDescriptionChangeHandler = () => {};
return (
<div className={classes.Modules}>
<h1>Modules</h1>
{COURSES_DATA.map((module) => (
<div
key={module.id}
className={classes.ModuleItem}
onClick={props.clicked.bind(module.id)}
>
<img src={module.icon} alt="icon" />
<h2>{module.name}</h2>
</div>
))}
</div>
);
};
export default Modules;
家长:
import React, { useState } from "react";
import Modules from "../components/Modules/Modules";
import ModuleDescription from "../components/Modules/ModuleDescription/ModuleDescription";
import classes from "./ModulesPage.module.css";
const ModulesPage = (props) => {
const [moduleId, setModuleId] = useState("");
const onClickDescriptionChangeHandler = (childmoduleId) => {
setModuleId(childmoduleId);
//console.log("childmoduleId", childmoduleId);
};
return (
<div className={classes.ModulesPage}>
<div className={classes.moduleItem}>
<Modules clicked={onClickDescriptionChangeHandler} />
</div>
<div className={classes.moduleDescription}>
<ModuleDescription />
</div>
</div>
);
};
export default ModulesPage;
解决方案
推荐阅读
- ios - How to display a UIAlertController when site is not allowed, using decidePolicyFor
- excel - 使用 excel 更改 Word 文件模板
- javascript - 根据 url 中给出的值,使用反应路由动态渲染反应组件
- ubuntu - Python 进程不会分配超过 20GB 的 RAM
- .net - 为 Kentico Cloud API 和 .NET 设置控制器和视图
- kubernetes - authentication handshake failed: x509: certificate signed by unknown authority
- typescript - 如何声明局部类型扩充?
- cloud-foundry - Cloudfoundry 重载终端信号
- javascript - Apollo GraphQL, is there a way to manipulate the data that is being written to the cache during querying?
- python - Creating a matrix from the data inside the csv