Here is my react component I have problem with
const Partners = () => {
const { allPartners } = useLoaderData();
const { store } = useContext(Context);
const navigate = useNavigate();
const {
setPage, setLimit, page, limit,
} = store;
const [searchParams, setSearchParams] = useSearchParams();
useEffect(() => {
setPage(searchParams.get('page') || 1);
setLimit(searchParams.get('limit') || 10);
}, []);
useEffect(() => {
setSearchParams({
page,
limit,
});
}, [page, limit]);
const addBtnHandler = () => {
navigate('new_partner');
};
console.log('render');
return (
<div className='page'>
<Filters />
<Suspense fallback={<Loader />}>
<Await resolve={allPartners}>
<PartnersTable />
<Pagination />
<Button children={'Додати'} onclick={addBtnHandler} />
<Outlet />
</Await>
</Suspense>
</div>
);
};
export default observer(Partners);
The problem is that I got two excessive renders while this code work(see attached screenshot) I have found that these two excessive renders caused by working with query parameters in the URL and I am wondering if there are any ways to reduce numbers of renders but save all the functionality of this component
I want to reduce number of renders to minimum. I appreciate any helpscreenshot of console