Jest.js 如何测试功能性React JS组件,该组件在useEffect之外声明了async函数并更改了状态?

ebdffaop  于 2023-05-27  发布在  Jest
关注(0)|答案(1)|浏览(151)

组件如下所示:

const comeCpm = () => {
  const FuncAsyncFunciton = async () => {
    // Fetch data via fetch api
    // updates the cpm state using useState
  }
  useEffect(()=>{FuncAsyncFunciton()}, [FuncAsyncFunciton])

  return (<div>some UI<div/>)
}

我尝试过的方法都不起作用,我唯一能想到的就是将状态handeling移出func,并将其导出到. test.jsx中进行模拟

5f0d552i

5f0d552i1#

试试这个,用IIFE。FuncAsyncFunciton函数在每次渲染时定义。在每次渲染时,它都会调用FuncAsyncFunciton。

const comeCpm = () => {
  useEffect(()=>{
    (async function() {
      // Fetch data via fetch api
      // updates the cpm state using useState
    })();
  }, [])

  return (<div>some UI<div/>)
}

相关问题