【发布时间】:2021-06-10 13:20:57
【问题描述】:
我有一个像这样的自定义输入组件:
import * as React from "react";
const Input = (props) => {
return (
<input
type={props.type}
name={props.name}
className={props.className}
value={props.value}
onChange={props.onChange}
/>
);
};
export default Input;
我正在尝试处理 onChange 事件,但这里没有触发:
import Input from "../../Components/Input";
...
<Input
type="text"
onChange={e => console.log(`${e.target.value}`)}
id="subject"
className="rounded-sm px-4 py-3 mt-3 focus:outline-none w-full border bg-transparent border-
gray-300"
placeholder="Subject"
/>
我尝试通过 props 将事件传递给自定义输入,并尝试直接在 Input 组件中处理事件。
使用 useState 改变状态的期望行为:
const [subject, setSubject] = useState('');
...
onChange={e => setSubject(e.target.value)}
当我添加这些行时,输入变为只读
【问题讨论】:
-
在您的
Input组件中,您没有在任何地方使用传递的onChange,这就是它没有启动的原因。也包括<input onChange={props.onChange} ...。
标签: javascript reactjs