首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的项目中使用useState后,我收到了“无效钩子调用”错误

在我的项目中使用useState后,我收到了“无效钩子调用”错误
EN

Stack Overflow用户
提问于 2019-07-11 16:49:29
回答 1查看 4.5K关注 0票数 3

我是非常新的反应,我正在尝试实现的切换选项卡在反应使用材料用户界面。任何帮助都将不胜感激。这就是我要犯的错误

无效钩子呼叫。钩子只能在函数组件的主体内调用。这可能发生在以下原因之一: 1. app和呈现器(如React ) 2的版本可能不匹配。您可能违反了Hooks 3的规则。在同一个应用程序中可能有多个React副本。

我已经尝试过使用以下方法更新:

代码语言:javascript
复制
npx create-react-app newhook and then yarn add react@next and yarn add react-dom@next 

这就是用户useState的位置。

代码语言:javascript
复制
     render() {
        const { classes, theme } = this.props;
        const [value, setValue] = React.useState(0);
        return (some code..)
    } 

这是我的package.json文件

代码语言:javascript
复制
{
  "name": "admin-jobseeker",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "^4.2.0",
    "@material-ui/icons": "^4.2.1",
    "node-sass": "^4.12.0",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.1",
    "react-swipeable-views": "^0.13.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-11 16:51:54

你在混合类和钩子,参考钩子文档

钩子是React 16.8中的一种新添加物。它们允许您在不编写类的情况下使用状态和其他React特性

代码语言:javascript
复制
// Use functions for hooks, not classes
function App(props) {
  const { classes, theme } = props;
  const [value, setValue] = React.useState(0);
  return <div>{value}</div>;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56993965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档