reactjs - React Hooks useEffect 在路由更改时再次调用
问题描述
完整代码在这里:https ://codesandbox.io/s/poliished-sea-krlff
主要问题是 useEffect 在路由更改时再次调用。
- 通过以下方式从 Hooks 主页面转到员工页面:props.history.push('/employee');
- 通过以下方式从 Employee 页面返回 HooksMain 页面: props.history.push('/');
- 这会再次触发 useEffect 和另一个服务调用,尽管它取决于参数“test”。
详情如下:
第一个功能组件:
import React, {
useState,
} from 'react';
function HooksMain(props) {
const [test, setTest] = useState('');
useEffect(() => {
console.log('test', test);
}, [test]);
const redirectToNewPage = () => {
props.history.push('/employee');
};
return (
//Return something
)
}
当我从 Employee 页面重定向回 HooksMain 时,useEffect 再次被触发。在我的原始代码中,它触发了我不想要的 Web 服务调用。它继续拨打额外的服务电话。
请求帮助!
解决方案
推荐阅读
- react-native - 异步存储错误未处理的承诺拒绝在交换机
- sql-server - 具有不同列数的存储过程 INSERT INTO
- javascript - 如何强制检查表单的复选框?
- python - 从一种形式创建模型实例两次
- xcode - Uitextfield背景颜色模糊?
- android - 如何创建在单击按钮时将语音更改为文本语言的 android 应用程序
- mongodb - 具有多个条件和 id 的 mongodb 聚合查找
- python - 在 Python 3 中处理多个输入变量
- html - 谷歌应用脚本html模板返回空值
- python - PyGame collide_rect 检测到不存在的碰撞