我使用 url 字符串中的参数在 useEffect 内的 ajax 请求中传递它。我收到此错误:conditional could make the dependencies of useEffect Hook
let query = new URLSearchParams(useLocation().search);
let sort = query.get('sort') ? JSON.parse(query.get('sort')) : [];
useEffect(() => {
$.ajax({
...
data: {jwt: localStorage.getItem('jwt'), sort: sort},
...
}, [sort]);
我该如何解决?建议 useMemory,但该钩子反过来会在查询时引起仇恨。据我了解,问题出在线路参数上。
现在
sort
,每个渲染都将分别是一个新对象,当将其作为依赖项传递时,它将导致执行useEffect
组件中的任何更改。您可以使用 保存该值
useMemo
,如果没有任何更改,您可以获取相同的对象现在,
sort
只有当前值已更改时,才会更新该值query
。