小编Umb*_*bra的帖子

更改搜索参数时如何防止重新渲染?

有一个小组件,当您单击按钮时,URL 中的搜索参数会发生变化。但是当搜索参数更改时,整个组件都会重新渲染,是否可以只更改 url,而不重新渲染?或者也许在这里使用“use-query-params”并不是一个好主意?

import React from 'react';
    import { StringParam, useQueryParam } from 'use-query-params';
    import cl from './Footer.module.scss';
    
    const Footer = () => {
          const [tab, setTab] = useQueryParam('ptab', StringParam);
        
          const handleClick = e => setTab(e.target.name);
        
          const getClass = name => {
            const values = ['tab1', 'tab2', 'tab3'];
        
            if (tab === name || (name === 'tab4' && (!tab || !values.includes(tab)))) return cl.active;
            return '';
          };
        
          return (
            <ul className={cl.footer}>
              <li>
                <button name='tab1' onClick={handleClick} className={getClass('tab1')}>
                  Tab1
                </button>
              </li>
              <li>
                <button name='tab2' …
Run Code Online (Sandbox Code Playgroud)

reactjs urlsearchparams

7
推荐指数
1
解决办法
5664
查看次数

标签 统计

reactjs ×1

urlsearchparams ×1