reactjs - React useEffect 有条件地运行

标签 reactjs react-redux react-hooks use-effect react-effects

如何防止我的 React 组件在每次呈现组件时都获取图像,而是从商店中获取图像?我不想通过一遍又一遍地调用 API 来限制速率,但是 useEffect 的问题是它似乎没有意识到在效果“外部”设置的变量。它似乎完全忽略了 !images.length 并且当我记录 images.length 的值时它总是 0 :(

Images.tsx

const dispatch = useDispatch();
const images = useSelector(selectedImages);

useEffect(() => {
  if (!images.length) {
    dispatch(fetchImages());
  }
}, []);

最佳答案

关于reactjs - React useEffect 有条件地运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64712509/

相关文章:

javascript - 简单的 Redux-Form 组件返回未定义

javascript - 错误: Trying to print out array elements in React Function Component?

javascript - 想要在 react js中动态添加表格行

reactjs - 在React-Hooks UseRef中我无法获取新的状态值

reactjs - 强制以大写形式输入表单 - onChange 和 React Hooks

javascript - 在另一个组件中重新渲染一个组件

reactjs - 尝试使用 react-google-maps 平滑地为标记移动设置动画

javascript - React 将普通事件处理程序委托(delegate)给文档,绑定(bind)函数怎么样?

javascript - 为什么这不会传递给下一个组件(ReactJS)?

react-hooks - 如何使用 Apollo 和 NextJS 将数据转发到下一页