如何在 React App 中测试基于 URLSearchParams 的条件渲染?

问题描述

我有一个简单的应用程序,它使用这个函数从 URLSearchParams 中获取 ID

export default function getLeadIdFromParams(){
const params = new URLSearchParams(window.location.search);
     return params.get("id");
}

这在渲染时发生在里面。它有条件地呈现应用程序,因此如果没有 ID,它会显示一条带有“未找到 ID”的文本消息,如果有一个 ID,它会显示“找到 ID”。但是我在测试它时遇到了麻烦,我只能测试认的“无 ID”,因为这是在没有 ID 的测试中加载的认 url。如何创建使用包含 ID 的搜索参数呈现我的应用的测试。

解决方法

如果你想从参数中获取 ID,那么你可以使用从 useLocation() 包导入的 react-router-dom 钩子。