У меня есть следующий функциональный компонент для публикации комментария, который прекрасно работает:
const PostCommentForm = (props) => {
const [st_newCommentContent, set_newCommentContent] = useState('');
const currentUserId = authenticationService.currentUserValue["id"];
const onClick_postComment = (e) => {
e.preventDefault();
props.postCommentEvent({
Content: st_newCommentContent,
ParentCommentId: null,
UserId: currentUserId,
DoesAgree: null,
DateCreated: new Date(),
})
set_newCommentContent('');
//set_commentTextboxStatus(false);
}
return (
<div>
<form className="mt-2">
<textarea
className="form-control"
placeholder="Type your comment"
value={st_newCommentContent}
onChange={(e) => { set_newCommentContent(e.target.value) }}
/>
<button
onClick={onClick_postComment}
className="btn btn-info pull-right m-1">
Post
</button>
</form>
<div style={{ clear: 'both' }}></div>
</div>
)
}
export default PostCommentForm;
Я хочу создать эту форму с Formik
, но я не знаю, как мне следует обрабатывать отправку исостояние с Formik.
Я могу позвонить onClick_postComment
внутри onSubmit
Полагаю, но тогда где мне поставить setSubmitting(false)
, чтобы показать, что отправка завершена? Внутри onClick_postComment
, но как?
onSubmit={({ commentText}, { setStatus, setSubmitting }) => {
setStatus();
onClick_postComment();
})
Кроме того, я не знаю, должен ли я все еще использовать состояние подключения с Formik. Я не мог найти четкий пример, показывающий использование Formik с крючками. Я ценю любую помощь.