reactjs - 就我而言,如何将数据从子组件传递到父组件?
问题描述
这是父组件的部分
render() {
return (
<>
<Container fluid>
<Row>
<Col lg="3">
<Profile
edit={() => this.toggleModal(1)}
loading={this.state.loading}
title="Your Profile"
image={this.context.userData.profilepic}
firstname={this.state.data.firstname}
lastname={this.state.data.lastname}
highschool={this.state.data.user_high_schools}
desc={this.state.data.dob}
/>
</Col>
这是子组件
return (
<>
<Row>
<Col lg='4'>
<InputGroup className='mt-1'>
{ university.id > 0 ?
<Input id={university.id} bsSize='sm' placeholder="University name" value={university.system_university.name} onChange={props.handleUniversityChange} /> :
<Input id={university.id} name='universityid' type='select' bsSize='sm' placeholder="Apply date" value={university.universityid} onChange={props.handleUniversityChange} >
所以,我的问题出在子组件上,有值名称{university.system_university.name}
,它包含我想要的值。但是我真的不知道或怀疑将这个值从子组件传递给父组件。希望大家能理解我的问题
谢谢。
解决方案
那你想做什么?
react 是唯一的事实来源,您应该将回调函数从父级传递给子级
例如:
父组件
const handleUniversityChange = (data) => {
/* do some staff with your data from within child component */
}
return (
<Child onUniversityChange={handleUniversityChange} />
)
子组件
const handleUniversityChange = e => {
props.onUniversityChange(e.target.value)
}
return (
<input onChange={handleUniversityChange} />
)
推荐阅读
- php - stdClass 或数组作为参数?
- c# - 为什么用非类型检查变量不是错误
- encryption - 如何在 Mule 4 中使用密码压缩有效载荷?
- python - 在 JupyterNotebook 中使用 graphviz:“未找到 GraphViz 的可执行文件”
- excel - 在 Excel 工作表中设置嵌入 OLEObject 的宽度和高度
- git - 从推送的提交中删除文件
- spring-webflux - OpenApi - 需要一个找不到的 'org.springdoc.webmvc.ui.SwaggerIndexTransformer' 类型的 bean
- firebase - Google Cloud Platform Console 为存储设置 CORS
- spring - 与直接查询相比,使用 Spring JPA 规范有哪些优势
- php - 购物车在 laravel 中为所有用户显示相同的产品