react hook给父组件传值form
时间: 2023-09-10 08:11:00 浏览: 159
React 子组件向父组件传值的方法
5星 · 资源好评率100%
在React中,可以通过向子组件传递props的方式,将父组件中的表单数据传递给子组件。
首先,在父组件中创建一个表单,然后将表单数据存储在父组件状态中。接下来,将状态作为props传递给子组件。子组件使用这些props来渲染自己的内容。
下面是一个例子:
```javascript
import React, { useState } from 'react';
import ChildComponent from './ChildComponent';
function ParentComponent() {
const [formData, setFormData] = useState({});
const handleInputChange = (event) => {
const target = event.target;
const value = target.type === 'checkbox' ? target.checked : target.value;
const name = target.name;
setFormData({
...formData,
[name]: value
});
}
return (
<div>
<form>
<label>
Name:
<input
type="text"
name="name"
value={formData.name}
onChange={handleInputChange} />
</label>
<br />
<label>
Email:
<input
type="email"
name="email"
value={formData.email}
onChange={handleInputChange} />
</label>
</form>
<ChildComponent formData={formData} />
</div>
);
}
export default ParentComponent;
```
在上面的代码中,我们创建了一个名为`ParentComponent`的父组件。该组件包含一个表单,在表单中我们使用useState Hook来存储表单数据。在表单项的onChange事件中,我们使用setFormData函数来更新表单数据。
接下来,我们将表单数据作为props传递给子组件`ChildComponent`:
```javascript
import React from 'react';
function ChildComponent(props) {
return (
<div>
<h2>Form Data:</h2>
<p>Name: {props.formData.name}</p>
<p>Email: {props.formData.email}</p>
</div>
);
}
export default ChildComponent;
```
在上面的代码中,我们创建了一个名为`ChildComponent`的子组件。该组件接收一个名为`formData`的props。我们使用这些props来渲染表单数据。
这样,我们就可以在父组件中将表单数据传递给子组件了。
阅读全文