我想在input标记中使用handle函数。但是当我在主页上调用这个函数时,它显示了一个错误。
主代码:
const Input = ({ placeholder, name, type, value, handleChange }) => (
<input
placeholder={placeholder}
type={type}
step="0.0001"
value={value}
onChange={(e) => handleChange(e, name)}
className="my-2 w-full rounded-sm p-2 outline-none bg-transparent text-white
border-none text-sm white-glassmorphism"
/>
);
声明句柄Change的位置:
const handleChange = (e, name) => {
setformData((prevState) => ({ ...prevState, [name]: e.target.value }));
};
您可以通过这种方式使用
const MyTextInput = ({ value, name, type, onChange }) => {
return (
<TextInput
value={value}
onChangeText={text => onChange({ name, type, text })}
/>
);
};
然后在需要使用TextInput 时使用它
handleChange(event) {
const {name, type, text} = event;
.....
}
<MyTextInput name="username" type="text" value={this.state.username} onChange={this.handleChange}}>
<MyTextInput name="password" type="number" value={this.state.password} onChange={this.handleChange}}>