[英]Circular dependency in useEffect
我正在嘗試構建一個自定義掛鈎,該掛鈎必須在使用 Formik 的setFieldValue()
之前更改值。
下面是鈎子的樣子:
export const useCount = (tab) => {
const { values, setFieldValue } = useFormikContext();
const { count} = values;
useEffect(() => {
const handleChange = () => {
if (tab === 0) {
setFieldValue("count", count);
} else if (tab === 1) {
setFieldValue("count", count * 2);
}
};
handleChange();
}, [count]);
};
手頭的問題是我最終會陷入無限循環,因為我正在更改useEffect()
內部的count
。 有什么線索嗎?
替換 useEffect 中的tab
count
,僅在tab
更改時觸發此效果
export const useCount = tab => {
const {values: {count}, setFieldValue} = useFormikContext();
const handleChange = () => {
if (tab === 0) {
setFieldValue("count", count);
} else if (tab === 1) {
setFieldValue("count", count * 2);
}
}
useEffect(() => {
handleChange();
}, [tab]);
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.