几个小时以来,我一直在排查此错误。 我在函数(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 />
);
}
}