react 我需要拿到表单中useState更新的数据,并在点击事件中进行跳转传参应该怎么做
时间: 2023-12-14 18:36:42 浏览: 157
你可以创建一个新的状态变量来存储表单中的数据,并在点击事件中传递这个变量。
在你的函数组件中,首先使用 useState hook 来创建一个新的状态变量,例如:
```
const [formData, setFormData] = useState({
name: '',
email: ''
});
```
然后,你可以在表单元素中使用 onChange 事件来更新 formData 状态变量。例如:
```
<input type="text" value={formData.name} onChange={(e) => setFormData({ ...formData, name: e.target.value })} />
<input type="text" value={formData.email} onChange={(e) => setFormData({ ...formData, email: e.target.value })} />
```
在点击事件中,你可以使用路由库(例如 react-router)来进行页面跳转。同时,将 formData 作为参数传递给目标页面。例如:
```
import { useHistory } from 'react-router-dom';
const history = useHistory();
const handleClick = () => {
history.push('/target-page', { formData });
}
```
在目标页面中,你可以使用 location 对象来获取传递的 formData 参数。例如:
```
const TargetPage = () => {
const { formData } = useLocation().state;
return (
<div>
<p>{formData.name}</p>
<p>{formData.email}</p>
</div>
);
}
```
阅读全文