#javascript #reactjs
Вопрос:
Я новичок в React, в настоящее время я использую систему react Typeahead
,
Вот мой код головы типа а:
const Createcontact = props => {
const {inputs, handleChange, handleSubmit ,errors} = UseForm({name:'',account:''},validate);
const [selected, setSelected] = useState([]);
return (
<>
<Row>
<Col lg="12">
<FormGroup>
<label
className="form-control-label"
htmlFor="input-username"
>
Contact Name
</label>
<InputGroup className="input-group-alternative mb-3">
<Input
className="form-control-alternative"
// defaultValue="lucky.jesse"
id="input-name"
placeholder="Contact Name"
type="text"
onChange={handleChange}
name="name"
/>
<span style={{background: "red",fontSize:"xx-small"}}>amp;nbsp;</span>
</InputGroup>
<span style={{color: "red",fontSize:"small"}}>{errors.name}</span>
</FormGroup>
</Col>
</Row>
<FormGroup>
<label
className="form-control-label"
htmlFor="input-email"
>
Account
</label>
<Typeahead
id="input-account"
onChange={setSelected}
options={lookuplist}
placeholder="Choose a Account..."
selected={selected}
filterBy={['name']}
labelKey={lookuplist => `${lookuplist.name} (${lookuplist.id})`}
name="account"
/>
</FormGroup>
</>
)};
export default Createcontact;
В приведенном выше коде я использую onChange={handleChange}
для проверки имени в другом компоненте «customhooks.js»,
Я тоже хочу реализовать то же самое для «typeahead», но если я использую onChange={handleChange} на typeahead, это выдает ошибку «Ошибка типа: событие.сохранение не является функцией».
вот мой код функции дескриптора:
const useForm = (initialValues,validate) => {
const [inputs,setInputs] = useState(initialValues);
const [errors,setErrors] = useState({});
const handleChange = (event) => {
event.persist();
setInputs(inputs => ({...inputs, [event.target.name]: event.target.value}));
}
}
То, что я пытаюсь заархивировать, — это формат json {«имя»:»Роберт»,»учетная запись»:7}, Здесь имя, учетная запись-это параметры имени полей ввода,
Я не знаю, что я здесь сделал не так, пожалуйста, помогите мне заархивировать то же самое, заранее спасибо.