当前位置: 首页 > 知识库问答 >
问题:

在react功能组件中使用useEffect时出错

后源
2023-03-14

我正在学习使用react钩子来管理状态,但我得到了一个错误,即第5:3行:react钩子“useffect”在函数“campot”中被调用,该函数既不是react函数组件,也不是自定义react钩子函数react钩子/钩子规则

这是我的密码

import React, {useEffect} from "react";
import classes from "./Cockpit.module.css";

const cockpit = (props) => {
  useEffect(() => {
    console.log('Cockpit js useEffect');

  });

  const assiginedClasses = [];
  let btnClass = "";
  if (props.showPersons) {
    btnClass = classes.Red;
  }

  if (props.persons.length <= 2) {
    assiginedClasses.push(classes.red);
  }

  if (props.persons.length <= 1) {
    assiginedClasses.push(classes.bold);
  }
  return (
    <div className={classes.Cockpit}>
      <h1>Hi I'm a React App</h1>
      <p className={assiginedClasses.join(" ")}>This is really Working!</p>
      <button className={btnClass} onClick={props.clicked}>
        Toggle Name
      </button>
    </div>
  );
};

export default cockpit;

共有3个答案

东门清夷
2023-03-14

我认为use效应钩子更像这样:

useEffect(() => {
  effect
  return () => {
    cleanup
  }
}, [input])
严永丰
2023-03-14

当使用useEffect挂钩时,您的主要功能名称应以大写字母useCockpoint开头,而不是Cockpoint

仲阳朔
2023-03-14

下线更改后删除错误解决。这个代码是工作。1. const驾驶舱=(道具)=

在第1行下方更换。康斯特驾驶舱=(道具)=

 类似资料:
  • 本文向大家介绍在React.js功能组件中使用useEffect(),包括了在React.js功能组件中使用useEffect()的使用技巧和注意事项,需要的朋友参考一下 React钩子useEffect有助于在React的功能组件中添加componentDidUpdate和componentDidMount组合生命周期。 到目前为止,我们知道我们只能在有状态组件中添加生命周期方法。 要使用它,我

  • 如何使用钩子(或任何其他钩子)来复制? 在传统的类组件中,我将执行以下操作: 使用hook: (完整示例:https://codesandbox.io/s/2oo7zqzx1n) 这不起作用,因为在中返回的“cleanup”函数捕获装载期间的道具,而不是卸载期间的道具状态。 如何在不运行函数体(或清除)的情况下对每个道具更改进行清理? 一个类似的问题并没有涉及获得最新道具的部分。 文件状态为: 如

  • 问题内容: 在花了一些时间学习React之后,我了解了创建组件的两个主要范例之间的区别。 我的问题是,什么时候应该使用哪个?为什么?一个人相对于另一个人的利益/取舍是什么? ES6课程: 功能性: 我认为只要没有状态可以由该组件操纵,功能就可以了,是吗? 我猜如果我使用任何生命周期方法,最好使用基于类的组件。 问题答案: 你有正确的主意。如果您的组件只做一些道具和渲染,那么功能就可以了。您可以将它

  • 在花了一些时间学习React之后,我理解了创建组件的两种主要模式之间的差异。 我的问题是什么时候我应该使用哪一个,为什么?一种方法与另一种方法相比有哪些好处/利弊? ES6类: 功能: 我认为只要没有状态可被该组件操纵,就可以正常工作,但就这样吗? 我想如果我使用任何生命周期方法,最好使用基于类的组件。

  • 问题内容: 因此,我正在从基于类的组件转移到功能组件,但在使用jest / zyme编写功能组件内部的方法(显式使用钩子)编写测试时陷入困境。这是我的代码的精简版。 我知道我可以通过导出来编写测试。但是如何测试或方法呢?如果它是基于类的组件,那么我可以将组件变浅,并从实例中将其用作 但这不适用于功能组件,因为无法以这种方式访问​​内部方法。有什么方法可以访问这些方法,还是应该在测试时将功能组件视为

  • 我有一个应用程序正在使用类组件开发react,我发现了一个功能的代码,我想添加到我的代码中,但它是使用功能组件制作的。代码在这里https://codesandbox.io/s/framer-motion-animate-in-view-gqcc8 但相关部分是这样的。 我不知道如何在我的类组件中添加那个控件变量 我应该把它添加到我的州吗?我不明白如何让它在类组件中工作