Почему OnChange не работает при использовании в Formik? - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь использовать Formik в React для фиктивного приложения.Я не могу ничего вводить в любом из полей ввода, если я даю значение в качестве реквизита.С другой стороны, если я пропущу пропуски значений, я смогу ввести поля, но это не будет отражено в качестве значения при отправке.

Вот код:

export default class DashboardPage extends React.Component {
    render() {
        return (
                    <Formik
                        initialValues={{ fname: "", lname: "" }}
                        onSubmit={(values) => {
                            alert(values.fname);
                        }}
                        render={({ values, handleChange, handleSubmit }) => (
                            <form onSubmit={handleSubmit}>
                               <input type="text" placeholder="First Name" name="fname" onChange={handleChange} value={values.fname} />
                               <input type="text" placeholder="Last Name" name="lname" onChange={handleChange} value={values.lname} />
                               <button type="submit>ADD<button/>
                            </form>
                        )}
                    />
        );
    }

}

Я могу ошибаться и могу пропустить небольшую ошибку, но любая помощь / предложение приветствуется!

1 Ответ

2 голосов
/ 19 сентября 2019
export default class DashboardPage extends React.Component {
    render() {
        return (
                    <Formik
                        initialValues={{ fname: "", lname: "" }}
                        onSubmit={ (values) => alert(values.fname) }
                     >
                    { props => (
                      <React.Fragment>                     
                        <form onSubmit={handleSubmit}>
                            <input type="text" placeholder="First Name" name="fname" onChangeText={props.handleChange('fname')} />
                               <input type="text" placeholder="Last Name" name="lname" onChangeText={props.handleChange('lname')} />
                               <button type="submit>ADD<button/>
                            </form>
                        </React.Fragment>
                    )}
                 </Formik>
        )
    }
}

Привет, приятель, можешь попробовать?

...