react useCallback notice

多个不同输入框共用一个方法时使用useCallback:

params = initParams = {code: "code_test", name: "name_test"}

const onInputChange = React.useCallback((e: React.ChangeEvent<HTMLInputElement>) => {
        setParams({
            ...params,
            [e.target.name]: e.target.value
        });
    }, [params]);

useCallback 如果没有写以来state变化参数(如上:params),调用时改变target.value, 设置其他params参数为初始化参数,

改变code为 “1”, 改变name时,设置name为新值,同时code会变为初始值"code_test",而不是为1.

posted @ 2020-02-25 17:04  Nyan  阅读(355)  评论(0编辑  收藏  举报