比上一次渲染时渲染了更多的钩子.使用 React Hooks 发布表单数据时 [英] Rendered more hooks than during the previous render. when posting form data with React Hooks

查看:100
本文介绍了比上一次渲染时渲染了更多的钩子.使用 React Hooks 发布表单数据时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

今天遇到了钩子的问题.我知道有一个类似的帖子,我阅读了使用钩子的规则.现在当我发布表单时,它给了我那个错误.我知道这是因为我的钩子在 if 语句中.但是我怎样才能把它弄出来呢?如果它不在函数或语句中,我不知道如何使用此钩子.任何建议将不胜感激.代码如下:

import React, { FunctionComponent, useState, useEffect } from 'react';从 '../hooks/usepost' 导入 usePost从'./article'导入文章;界面文章发布{标题:字符串,身体:字符串,作者:字符串}const 帖子:FunctionComponent = () =>{const [details, detailsReady] = useState({})const postArticle = (e) =>{e.preventDefault()const postDetails = {标题:e.target.title.value,正文:e.target.body.value,作者:e.target.author.value}详细信息准备好(发布详细信息)}if (Object.keys(details).length !== 0) {控制台日志(详细信息)usePost('http://localhost:4000/kb/add', 详情)}返回 (<div><form onSubmit={postArticle}><p>标题<输入类型='文本'名称='标题'/></p><p>正文