【问题标题】:TypeError: react_1.useEffect is not a functionTypeError:react_1.useEffect 不是函数
【发布时间】:2021-11-12 08:53:31
【问题描述】:

我试图在我的 React 组件中使用 useEffect,但我遇到了以下错误:

TypeError: react_1.useEffect 不是函数

Uncaught (in promise) TypeError: react_1.useState is not a function

我已经导入了这样的库

import React, { useEffect } from 'react'

并有这样的 useEffect:

useEffect(() => {
  console.log("This is cool")
}, [intentButton])

react 版本是 16.7.0

【问题讨论】:

  • 你使用的 react 版本是什么?
  • @dEBA M React 版本是 16.7.0
  • “Hooks 是 React 16.8 中的新增功能。它们让您无需编写类即可使用状态和其他 React 功能”来自 React 文档。尝试使用更高版本的 React,看看它是否解决了问题

标签: javascript reactjs react-hooks react-component react-lifecycle


【解决方案1】:

这是因为 react V16.7 没有钩子

解决办法是降级到

   npm i react@next react-dom@next 

截至 2018 年 12 月 20 日是 16.7.0-alpha.2:

yarn add react@next react-dom@next

然后失去测试渲染器:

 import React from 'react'
 import ReactDOM from 'react-dom'
 import App from './App'
 it('renders without crashing', () => {
    const div = document.createElement('div')
    ReactDOM.render(<App />, div)
    ReactDOM.unmountComponentAtNode(div)
 })

package.json 应该是这样的:

  "react": "^16.7.0-alpha.2",
  "react-dom": "^16.7.0-alpha.2",

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 2021-01-10
    • 2020-12-27
    • 1970-01-01
    • 2021-01-16
    • 2021-11-12
    • 2021-02-14
    • 1970-01-01
    相关资源
    最近更新 更多