Ниже приведен пример с использованием Formik. Когда Field
находится в форме, я получаю следующую ошибку при попытке экспорта из Next:
import React from "react";
import { connect } from "react-redux";
import { Formik, Field } from "formik";
import TextInput from "../components/TextInput";
import updateNameForUser from "../utils/updateNameForUser";
const UserForm = (props) => (
<Formik
initialValues={{ name: props.name }}
onSubmit={(values) => props.updateName(values)}
>
{({ handleSubmit }) => (
<form onSubmit={handleSubmit}>
<Field name="name" placeholder="name" component={TextInput} />
<button onClick={handleSubmit} type="submit">
submit
</button>
</form>
)}
</Formik>
);
const mapDispatchToProps = (dispatch) => ({
updateName: (values) => dispatch(updateNameForUser(values)),
});
const mapStateToProps = (state) => ({ name: state.users.name });
export default connect(mapStateToProps, mapDispatchToProps)(UserForm);
Ошибка:
Invariant Violation: Invalid hook call. Hooks can only be called inside of the body of a function component.
Как это будет переписано для использования хуки для устранения ошибки?
Вот ссылка на базовую кодовую базу . Git клонировать и запустить:
npm install
build next && build export
Версии библиотеки:
- Далее: v9.3.5
- Formik: v2.1.2
- Реакция: v16.8.6