reactjs - React useEffect 检测对象内部数组的变化
问题描述
我正在尝试使用 useEffect 挂钩根据状态更改来调用 API。但是,我的 useEffect 无法检测到对“类型”数组所做的更改。我尝试使用 use-deep-compare-effect 库,但它也无法检测到变化。
如何检测状态的变化?
任何帮助将不胜感激!
const [values, setValues] = useState({
query: '',
type: ["Tender & Auction", "Merger & Acquisition","Policy & Regulation", "Project Update", "Other"]
})
/// Re-run a query, after we check a filter
useEffect(() => {
searchAPI(values);
}, [values]);
我正在改变这样的值:
const handleChange = (newValues) => {
console.log(newValues)
setValues({ ...values, type: newValues})
};
解决方案
指定范围
useEffect(() => {
searchAPI(values);
}, [values,values.type]);
推荐阅读
- python - conda said all requested packages already installed but can't find in conda list
- java - How to validate record value with UNION type of avro schema in Java
- visual-studio - 什么是 Visual Studio 的 Navigate Backward 和 Navigate Forward 命令的 Rider 等效项
- google-cloud-storage - 为什么打开位于 Google Storage 中的文件时会出现 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误?
- c# - Mock IDynamoDBContext.ScanAsync method
- ruby-on-rails - Making a duplicate Devise sign in page on Rails?
- drupal - Slow Autocomplete Search Suggestion
- r - How can I get rid of this error warning when using the prepareMplusData function?
- reactjs - 滚动时背景被剪裁
- excel - I want to return to a previous month from a particular month (which are given in combo box) not from a date