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

Hri*_*hra 3 javascript frontend reactjs react-hooks use-effect

我正在学习使用 react hooks 来管理状态,但我收到错误消息 Line 5:3: React Hook "useEffect" is called in function "cockpit",它既不是 React 函数组件,也不是自定义 React Hook 函数 react-hooks/钩子规则

这是我的代码

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;
Run Code Online (Sandbox Code Playgroud)

小智 5

删除错误解决后,下面的行发生了变化。这段代码是工作。1. const cockpit = (props) => { 2. 导出默认驾驶舱;

替换下面的第 1 行。 const Cockpit = (props) => { 2. export default Cockpit ;