【发布时间】:2019-05-24 07:38:45
【问题描述】:
简单使用react hooks in beta在使用jest时不起作用,导致错误
Invariant Violation:Hooks 只能在函数组件内部调用。
尽管环顾四周,但我没有看到带有反应钩子的 Jest 的工作示例。是的,我知道它是测试版,但现在让我们标记它。
https://github.com/ghinks/jest-react-hook-issue.git
const MyDiv = () => {
const [count, setCount] = useState(0)
const clickHandler = () => { setCount(count + 1);
console.log(`clicked ${count}`) }
return (
<div onClick={clickHandler}>
ClickMe {count}
</div>
)
}
即使是简单的测试
import { MyDiv } from './App';
describe('Test Component using hooks', () => {
test('MyDiv', () => {
const div = MyDiv();
expect(div).toMatchSnapshot();
})
});
会因为不变的错误而失败。
我希望这确实有效。
【问题讨论】: