在React中,可以通过使用React的状态管理来分离不同的表单组件的状态。以下是一种解决方法的代码示例:
import React, { useState } from 'react';
const Form1 = () => {
const [formData, setFormData] = useState({
name: '',
email: '',
});
const handleChange = (e) => {
setFormData({
...formData,
[e.target.name]: e.target.value,
});
};
return (
);
};
const Form2 = () => {
const [formData, setFormData] = useState({
username: '',
password: '',
});
const handleChange = (e) => {
setFormData({
...formData,
[e.target.name]: e.target.value,
});
};
return (
);
};
const App = () => {
return (
);
};
export default App;
在上面的代码中,我们使用了useState
来创建了两个不同的表单组件Form1
和Form2
。每个表单组件都有自己独立的状态formData
来存储表单数据。
通过定义handleChange
函数,我们可以通过setFormData
方法来更新表单数据。使用展开运算符...
来合并新的表单数据和旧的表单数据,从而保持其他字段的不变性。
最后,我们在App
组件中渲染了Form1
和Form2
,它们可以独立地管理和更新各自的表单数据。