使用状态对输入变量做出反应的最佳方式是什么?

What is the best way to use states in react for input variables?

我对反应还很陌生 我在 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();
    }

这样的方法是否正确,或者我是否需要为每个输入元素设置一个单独的状态?

Is it the right approach like this or should I need to have a separate state for each input element?

您可以为小表单的每个输入元素使用单独的状态,为大表单使用对象。

因为您需要像这样设置新值时克隆对象:

setFormInputs({
    ... formInputs,
    name: 'newName'
})

它可能会导致大形式的性能问题,我建议使用react-hook-form以获得更好的性能