无效的钩子调用。 ReacJs

时间:2021-07-20 15:27:26

标签: reactjs

几个小时以来,我一直在排查此错误。 我在函数(getItems)之上使用钩子。我不知道我犯了什么错误。 我应该如何清除这个?

错误: `

<块引用>

错误:无效的挂钩调用。 Hooks 只能在 body 内部调用 一个函数的 成分。这可能是由于以下原因之一造成的: 1. 你可能有不匹配的 React 版本和渲染器(例如 React DOM) 2. 你可能违反了 Hooks 规则 3. 您可能在同一个应用程序中拥有多个 React 副本 有关如何调试的提示,请参阅 https://reactjs.org/link/invalid-hook-call 并解决这个问题。

`

App.js

import React from "react";

const data = {
list: [
  {
    id: 0,
    title: "A1",
    list: [
      {
        id: 3,
        title: "A2",
      },
    ]
  },
]
 };
  function getItems() {
    const [menuStack, setStack] = React.useState([data.list]);

    const pushState = (list) => {
        list && setStack((stack) => [...stack, list]);
    };
    const popState = () => {
        menuStack.length > 1 && setStack((stack) => stack.slice(0, -1));
    };

    const top = menuStack[menuStack.length - 1];
    return (
        <button onClick={popState}>BACK</button>
    );

}
export default class PopUp extends React.Component {
render() {
    return (
        <div>
            {getItems()}
        </div>
    );
}
}

Index.js

import React from "react";
export default class Home extends React.Component {
render(){
 return (
 <App />
  );
 }
} 

0 个答案:

没有答案