reactjs - 在对输入变量做出反应时使用状态的最佳方法是什么?
问题描述
我对反应还很陌生,我在 React Typescript 中有一个输入表单,我想使用 useState 挂钩来存储名称、电子邮件和其他输入标签的值。我正在使用这样的状态:
type Props = {
name: string,
email: string,
message: string,
}
const ContactMe = () => {
const [formInputs, setFormInputs] = useState<Props>({
name: '',
email: '',
message: '',
});
const handleData = (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
}
是这样的正确方法还是我需要为每个输入元素设置一个单独的状态?
解决方案
是这样的正确方法还是我需要为每个输入元素设置一个单独的状态?
您可以为小型表单的每个输入元素使用单独的状态,为较大的表单使用对象。
因为您需要在设置新值时克隆对象,如下所示:
setFormInputs({
... formInputs,
name: 'newName'
})
它可能会导致大形式的性能问题,我建议使用react-hook-form 以获得更好的性能
推荐阅读
- java - 如何重用 Maven 配置文件?
- mysql - MySQL 帮助:如何自动更新列?
- vba - Word 2016-VBA-如何在表格中的选定行下方插入行?
- java - 从java中的arraylist返回所有奇数
- reactjs - TypeError:routes.map 不是函数 ReactJS
- r - 如何使用 R 的 httr 包修复对 api 的 GET 请求
- javascript - 我使用 next.js,我尝试做一个帖子页面
- python - 无法使用 JSON 使用 pytest 测试 API
- rust - 递归类型 - 生命周期问题
- javascript - 保存并显示最近的用户输入