Reactjs React Hook useCallback有一个不必要的依赖项:';价格';。排除它或删除依赖项数组react hooks/dep import React,{Fragment,useState,useCallback}来自“React”; 常量处理搜索=()=>{ const[price,setPrice]=useState({maxPrice:0,minPrice:0}); const inputMaxMin=useCallback( ({target:{value,name}})=>{ 名称==“maxPrice” ?setPrice(({minPrice})=>({maxPrice:value,minPrice})) :setPrice(({maxPrice})=>({minPrice:value,maxPrice})); }, [价格] ); 返回( {}}> {“Min”} {“Max”} ); };

Reactjs React Hook useCallback有一个不必要的依赖项:';价格';。排除它或删除依赖项数组react hooks/dep import React,{Fragment,useState,useCallback}来自“React”; 常量处理搜索=()=>{ const[price,setPrice]=useState({maxPrice:0,minPrice:0}); const inputMaxMin=useCallback( ({target:{value,name}})=>{ 名称==“maxPrice” ?setPrice(({minPrice})=>({maxPrice:value,minPrice})) :setPrice(({maxPrice})=>({minPrice:value,maxPrice})); }, [价格] ); 返回( {}}> {“Min”} {“Max”} ); };,reactjs,Reactjs,当我使用价格时,我得到一个错误: React Hook useCallback有一个不必要的依赖项:“price”。要么排除 删除或删除依赖项数组react hooks/dep 这是对useCallback实现的警告(不是因为price使用) 如警告所述,从依赖项数组中删除price变量[price]: const inputMaxMin=useCallback( ({target:{value,name}})=>{ 名称==“maxPrice” ?setPrice(({minPrice})=>

当我使用价格时,我得到一个错误:

React Hook useCallback有一个不必要的依赖项:“price”。要么排除 删除或删除依赖项数组react hooks/dep


这是对
useCallback
实现的警告(不是因为
price
使用)

如警告所述,从依赖项数组中删除
price
变量
[price]

const inputMaxMin=useCallback(
({target:{value,name}})=>{
名称==“maxPrice”
?setPrice(({minPrice})=>({maxPrice:value,minPrice}))
:setPrice(({maxPrice})=>({minPrice:value,maxPrice}));
},

[]/我不明白为什么
屏幕不需要作为依赖项,以及为什么我必须删除它们


setPrice
不应作为依赖项使用。是的,在这种情况下,不需要回调权限?
useCallback
无依赖项(
[]
)应该工作它会工作,但是没有理由使用callback。对于这种情况,它究竟会记忆什么?我认为它可以防止重新播放……尽管这只是一个很小的改进。
import React, {Fragment, useState,useCallback } from "react";

const ProcessingSearch = () => {
  const [price, setPrice] = useState({ maxPrice: 0, minPrice: 0 });

  const inputMaxMin = useCallback(
    ({ target: { value, name } }) => {
      name === "maxPrice"
        ? setPrice(({ minPrice }) => ({ maxPrice: value, minPrice }))
        : setPrice(({ maxPrice }) => ({ minPrice: value, maxPrice }));
    },
    [price]
  );

  return (
    <Fragment>
      <form onSubmit={() => {}}>
        {"Min"}
        <input
          {...ProcessingSearchInputPrice}
          value={price.minPrice}
          onChange={inputMaxMin}
        />
        {"Max"}
        <input
          {...ProcessingSearchInputPrice}
          value={price.maxPrice}
          onChange={inputMaxMin}
        />
        <input type="submit" title={"Submit price range"} value={"Go"} />
      </form>
    </Fragment>
  );
};