【发布时间】:2022-10-08 23:33:07
【问题描述】:
//use Input HOOK
我想知道这个自定义钩子是如何工作的
import { useState } from "react";
export default initialValue => {
const [value, setValue] = useState(initialValue);
return {
value,
onChange: event => {
setValue(event.target.value);
},
reset: () => setValue("")
};
};
//todo form
这个 onchange 方法如何工作 即使在这个程序中没有编写 onchange 函数,它如何更新数据
import React from "react";
import TextField from "@material-ui/core/TextField";
import useInputState from "./useInputState";
const TodoForm = ({ saveTodo }) => {
const { value, reset, onChange } = useInputState("");
return (
<form
onSubmit={event => {
event.preventDefault();
saveTodo(value);
reset();
}}
>
<TextField
variant="outlined"
placeholder="Add todo"
margin="normal"
value={value}
onChange={onChange}
/>
</form>
);
};
export default TodoForm;
【问题讨论】:
-
不清楚你在问什么。这个钩子基本上将您通常为表单输入编写的一些标准样板移动到单个函数(您引用的自定义钩子)中。它返回一些道具/属性,包括您传递给输入的
onChange处理程序。如果您有更具体的问题,请编辑您的问题以使其更清楚。
标签: javascript reactjs material-ui react-custom-hooks