Hem*_*ari 3 javascript reactjs react-hooks
错误:
TypeError: (0 , _react.useState) is not a function
Run Code Online (Sandbox Code Playgroud)
我目前的反应版本:
"react": "^16.7",
"react-dom": "^16.7",
Run Code Online (Sandbox Code Playgroud)
源代码/App.js:
import {memo, useState} from 'react'
export default memo(() => {
useState(false)
return 'OK'
})
Run Code Online (Sandbox Code Playgroud)
src/App.test.js:
import React from 'react'
import App from './App'
import renderer from 'react-test-renderer'
it('renders without crashing', () => {
const tree = renderer.create(<App />).toJSON()
expect(tree).toMatchSnapshot()
})
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
根本原因是react V16.7没有hook
决议是降级到
npm i react@next react-dom@next
Run Code Online (Sandbox Code Playgroud)
截至 2018/12/20 是 16.7.0-alpha.2:
yarn add react@next react-dom@next
Run Code Online (Sandbox Code Playgroud)
然后丢失测试渲染器:
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)
})
Run Code Online (Sandbox Code Playgroud)
这是 package.json 应该有的:
"react": "^16.7.0-alpha.2",
"react-dom": "^16.7.0-alpha.2",
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6200 次 |
| 最近记录: |