xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

React useEffect compare old new dependency

React useEffect compare old new dependency

setState & async state bug

antd table update duplication bug

page & pageSize 变化 API 只请求一次


    useEffect(() => {
        const params = {
            word: search,
            page: page,
            per_page: pageSize,
        };
        fetchData(params);
    }, [page]);
    const onPageSizeChange = (val, size) => {
        setPageSize(size);
        setPage(1);
        // console.log('val, size', val, size);
        // console.log('page', page);
        // console.log('pageSize', pageSize);
        if(val === 1) {
            const params = {
                word: search,
                page: 1,
                per_page: size,
            };
            fetchData(params);
        } else {
            // useEffect auto update
        }
    };

demo

react-table-switch-partly-refresh

https://github.com/xgqfrms/react-hook-and-antd-table/blob/main/react-table-switch-partly-refresh/index.jsx

react-hooks-antd-table-switch-partly-refresh

https://github.com/xgqfrms/react-hook-and-antd-table/blob/main/react-hooks-antd-table-switch-partly-refresh/index.jsx

solutions

  1. useEffect

    useEffect(() => {
        if(val === 1) {
            const params = {
                word: search,
                page: 1,
                per_page: pageSize,
            };
            fetchData(params);
        }
    }, [pageSize]);

    const onPageSizeChange = (val, size) => {
        setPage(1);
        setPageSize(size);
    };

  1. callback

    const onPageSizeChange = (val, size) => {
        setPage(1);
        setPageSize(size, () => {
            if(val === 1) {
                const params = {
                    word: search,
                    page: page,
                    per_page: pageSize,
                };
                fetchData(params);
            }
        });
    };

refs

React Hooks useEffect 取消 Promise

https://www.cnblogs.com/xgqfrms/p/11693154.html

useState & useEffect

https://www.cnblogs.com/xgqfrms/p/11771834.html

https://www.cnblogs.com/xgqfrms/tag/React Hooks/

https://www.cnblogs.com/xgqfrms/tag/useEffect/



©xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @   xgqfrms  阅读(54)  评论(6编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2020-04-13 旅游玩乐 业务组件 UI 交互
2020-04-13 array auto slice
2020-04-13 trao 模拟点击 & js auto click
2020-04-13 alipay 小程序 & online IDE & demos
2020-04-13 macOS utils
2020-04-13 js 如何获取某一个月的第一天是周几
点击右上角即可分享
微信分享提示