反应挂钩:无效的挂钩调用

问题描述

尝试创建销售和物品表格。尝试测试在h1中打印出itemName,但不断出现以下错误

错误:无效的挂钩调用。挂钩只能在功能组件的主体内部调用。发生这种情况可能是由于以下原因之一:

  1. 您可能使用了不匹配的React和渲染器版本(例如React DOM)
  2. 您可能正在违反挂钩规则
  3. 您可能在同一应用中拥有多个React副本

有人能够阐明我在做什么错

import React,{ useState } from "react";
import Navbar from "./Navbar";

function Selling (){

  const [itemName,setItemName] = useState("");

  function handleChange(event){
  setItemName(event.target.value);
  }


return(
  

   
       <div>
  
        <form>
            <h4 className="selling-input-title">What are you selling?</h4>
            <div class="form-group">
            <input type="text"
             onChange={handleChange}  
             class="form-control item" 
             id="usr"
              value={itemName}/>
         
            </form>

            <h1>{itemName}</h1>

          </div>  

解决方法

您必须这样声明

  const handleChange = (event) => {
  setItemName(event.target.value);
  }
,

试试这个:

import React,{ useState } from "react";
import Navbar from "./Navbar";

export default () => {
  const [itemName,setItemName] = useState("");

  const handleChange = (event) => {
  setItemName(event.target.value);
  }

  return (
    <div>
      <form>
        <h4 className="selling-input-title">What are you selling?</h4>
        <div class="form-group">
          <input type="text"
            onChange={handleChange}
            class="form-control item"
            id="usr"
            value={itemName} />
        </div>
      </form>
      <h1>{itemName}</h1>
    </div>
  );
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...