问题标签 [react-effects]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
243 浏览

javascript - 带钩子的 React Cleanup 异步函数获取

这是在一个功能组件中。

我有一个submit()看起来像这样的函数:

现在,当我导致导航发生时,我得到了可怕的“无法对未安装的组件执行 React 状态更新”。错误。

那么,使用效果,我如何确保清理这个 fetch 调用?我看到的所有示例useEffect都用于设置然后清理调用(使用清理功能)。

0 投票
2 回答
821 浏览

reactjs - 反应useEffect,依赖列表不起作用

我确定我对此有错误的理解。我有以下组件

现在根据我的理解,因为当组件再次渲染时,react 上的依赖列表useEffectfilter应该运行效果?但是它似乎运行它。我在这里理解有什么问题吗?

0 投票
1 回答
190 浏览

reactjs - React 表单失去了对更新的关注

我正在处理一个表单,该表单除其他字段外,还包含日历条目 - 日期和时间。代码如下:

然后是useState()钩子定义为:

我遇到的问题是,每当调用 onChange - 每次击键都会发生重新渲染并且我的组件失去焦点。

我尝试使用onBluranddefaultValue而不是onChange,但也存在焦点问题 - 需要两次单击才能切换焦点,因为第一次被重新渲染消耗。

我还尝试添加超时来处理onBlur“丢失”的单击,如下所示:

最后一个版本不再失去焦点,而是失去状态更新。关于如何更好地处理这个问题,或者甚至修复我现有的代码的任何建议?

0 投票
1 回答
147 浏览

reactjs - 通过 ref 设置状态在 useEffect 中不起作用?

我正在尝试filtered使用 useRef 即清除反应表组件的状态。ref.current.setState({...}). 这是我的组件的一个片段:

我在 UI 中有一个选择输入,它绑定到props.selectedDealer我想在用户更改时清除反应表的过滤器props.selectedDealer。react table 组件在组件中不可用,Customers但在层次结构中处于非常低的级别:

Customers > CustomersTable > AppTableWrapper > AppTable > ReactTable.

我正在传递customerTableRefto ReactTable。在开发工具中,我可以看到 ref 被组件选项夸大了,但customerTable.setState({ ...customerTable.state, filtered: []})没有改变ReactTable.

0 投票
2 回答
1057 浏览

reactjs - 反应 useEffect 有条件地运行

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

图片.tsx

0 投票
4 回答
133 浏览

react-native - (React Native) 如何分类到函数

我的英文不是很好; 我准备了一份申请。我想将以下结构用作函数const。我怎样才能做到这一点?我想使用函数组件来使用props

我添加了整个代码。年龄计算应用程序。

我用了useState-useEffect,没有成功。

等待帮助我谢谢你

0 投票
3 回答
294 浏览

react-native - React Native如何在React Native上从本地json文件中获取数据视频链接

我准备了一个应用程序,我需要从数据文件中获取视频链接。我能为此做些什么。

来源={{ ? }} 以及如何使用 flatlist 将 4 个视频投影到屏幕上?谢谢

示例图片:我想要一个像这里写的代码一样的视频代码:)