模拟useLocation以在执行操作后返回不同的位置值

时间:2020-10-04 18:39:56

标签: reactjs jestjs react-hooks react-router-dom react-testing-library

我有一个输入字段,该字段在更新时会更新位置。基于此位置更改,我必须运行一个将进行API调用的效果。

我已经制作了一个自定义钩子,该钩子使用useLocation并向我返回查询参数

import {
  useLocation,
} from 'react-router-dom';

export const useCustomLocation = () => {
  return new URLSearchParams(useLocation().search);
}

我嘲笑的方式就像

jest.mock('/customhooks',()=>({
   useCustomLocation:'name=akash'
}}

但是这样做的问题在于,即使更改位置,我的自定义钩子仍将返回相同的查询参数,由于依赖数组的值相同,因此不会触发我的效果。

0 个答案:

没有答案