在 Next.js 14 上使用
useFormStatus
钩子进行简单的测试。它导致错误
TypeError: (0 , _reactdom.useFormStatus) is not a function
一旦我移除
useFormStatus
,测试就通过了。
源文件使用
useFormStatus
:
import { useFormStatus } from "react-dom";
export default function MyComponent(){
const {pending} = useFormStatus()
if(pending){
return null
}
return ( <div>some jsx</div>)
}
测试:
it('renders', () => {
render(<MyComponent />) //error on render
expect(1).toBe(1)
})
我应该尝试嘲笑
useFormStatus
吗?在 Next 13 中,我相信 useFormStatus
是实验性的,但我相信它现在已经稳定了。
在Next.js 13中,useFormStatus钩子是react-dom包的一部分,但从Next.js 14开始,react-dom似乎不再提供它。
要解决此问题,您有以下几种选择: