javascript - TypeError:无法读取未定义的属性“setValues”| 反应
问题描述
当我在 handleInputChange 上使用 setValues() 函数时,出现此错误:
代码:
import React, { useState, useEffect } from "react";
const useForm = (initialFieldValues) => {
const { values, setValues } = useState(initialFieldValues);
const handleInputChange = (e) => {
const { name, value } = e.target;
const fieldValue = { [name]: value };
this.setValues({
...values,
...fieldValue,
});
};
return {
values,
setValues,
handleInputChange,
};
};
export default useForm;
我该如何解决这个错误?任何回应将不胜感激
解决方案
在类组件中你会使用,但在功能组件中你可以不带关键字this.setValues
直接使用。setValues
this
改变:
this.setValues({
...values,
...fieldValue,
});
到:
setValues({
...values,
...fieldValue,
});
还useState
返回一个数组,因此您可以像这样使用它:
const [ values, setValues ] = useState(initialFieldValues);
推荐阅读
- sql - 列出 Teradata 中 temp / volatile 表中的列
- visual-c++ - 仅来自项目目录的 Visual Studio c++ 警告
- javascript - 如何连接两个选项和切换开关按钮
- machine-learning - K 最近邻分类器 - 训练测试拆分的随机状态导致不同的准确度分数
- r - ggplot2 图例 2 行
- c# - 如何在 ac# 应用程序中在其本机浏览器中打开资源 pdf 文件?
- react-hooks - 一次上传一张图片,有预览问题 - React Drop zone
- odoo-12 - Odoo12 树记录日期时间,导出值
- shopware - 在 Shopware 6 中通过 php 创建媒体
- php - 一旦在内部查询中分组,我们如何对 SQL 进行分组