如何将URI.parseQuery解析的URL参数传递给自定义getuserData函数
URL查询参数传入自定义函数实现方法
你已经通过URI.parseQuery(search)拿到了结构正确的URL参数对象,直接传入目标函数即可完成参数传递,和逻辑是否写在类组件中没有关联。
全量传参写法
getuserData的入参要求为包含user、date属性的对象,和参数解析结果的结构完全匹配,直接传入即可被函数正确读取:
const Tracker = (props) => { const search = useLocation().search; // 解析URL查询参数 const allSearchParams = URI.parseQuery(search); // 传入函数调用 getuserData(allSearchParams); // 组件其余业务逻辑 return <div>Tracker页面</div> };
按需传参写法
如果不需要把tab等多余参数传入函数,可以先解构出需要的字段,组装参数后再传入:
const Tracker = (props) => { const search = useLocation().search; // 解构提取需要的user、date字段 const { user, date } = URI.parseQuery(search); // 组装为符合要求的参数对象传入 getuserData({ user, date }); // 组件其余业务逻辑 return <div>Tracker页面</div> };
传参完成后,
getuserData内部就可以通过props.user拿到URL里的用户ID,通过props.date拿到URL里的日期值,控制台会正常打印对应结果。
内容的提问来源于stack exchange,提问作者vivek kn
相关产品推荐
相关产品推荐

