问题标签 [react-usememo]

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 投票
2 回答
1001 浏览

reactjs - 如何记住从 redux useSelector 派生的变量?

我怎样才能记住我的rawTranscript变量,这样它就不会触发useEffect下面的随后触发昂贵的transcriptParser函数?我一直在尝试很多不同的方法,但是我使用 redux-hook ( useAppSelector) 从存储中捕获数据的事实意味着我不能使用空依赖 useEffect 进行初始挂载(钩子不能在里面的使用效果)。出于同样的原因,我似乎也不useAppSelector能用 a来包装。useMemo

关于如何记忆rawTranscript变量的任何想法,因此它不会重新触发useEffect

useMemo在, useEffect,中使用 redux-hook 时出错useCallback

不能在回调中调用 React Hook “useAppSelector”。React Hooks 必须在 React 函数组件或自定义 React Hook 函数中调用。

零件

选择器

0 投票
0 回答
39 浏览

reactjs - 通过正确使用 useCallback 和 useMemo 来最小化重新渲染

我正在使用useCallback钩子创建以下函数,并将其传递给input如下。

我有以下问题:

  1. 在我的依赖数组中,我应该包括eventanddata吗?我的理解是我不应该,因为这些是函数的输入,因此inputChangeFunc当这些值发生变化时不需要重新创建。

  2. intl.formatMessage我应该将调用包装error在 auseMemo中以防止触发重新渲染 - 像这样:

或者这是不必要的?

0 投票
0 回答
61 浏览

reactjs - 没有从父元素传递给子元素的道具

我对父/子元素之间的数据传递有疑问。父元素 StylePage 通过SWR检索数据,SWR 可以毫无问题地检索数据,并且应用程序能够使用文本显示它。问题是它没有被传递给子元素(StyleCard)。也是如此currentAssets我在这里错过了什么可能导致道具没有被传递给 StyleCard?

编辑:有一个围绕顶层组件的全局配置SWRConfig (源) 。这就是 StylePage 中未指定 fetcher 的原因。还修复了代码示例中的错字。

0 投票
1 回答
46 浏览

javascript - 如何使用 react.js 中的 useMemo 钩子响应地更改列数?

它返回固定的列号,当您添加更多联系人时,它将始终为 3 列,我需要更改响应式设计的数字,例如它应该是 2 列或 1 基于屏幕分辨率。

0 投票
1 回答
46 浏览

javascript - 如何等待从 useEffect 设置值?

我们在获取数据数组时使用了 useMemo 和 useEffect。在第一个文件中,我设置了一个带有挂钩结果的 const(第二个文件)。但是结果被设置了两次,第一次结果是一个空对象。

我需要在 useEffect 完成工作后设置它。

我们有2个js文件

  • 第一个.js
  • 第二个.js

第一.js

第二个.js

我的控制台看起来像这样

如果可能的话,这就是我想要的

0 投票
1 回答
77 浏览

reactjs - 防止使用 useMemo 重新渲染

我每 30 秒进行一次获取,并将响应保存在我的 redux 状态。如果响应与前一个相同,我想要做的是防止重新渲染组件。为此,我尝试了 useMemo 钩子。

这是我每 30 秒更新一次的状态。(这是一个对象)

这就是我实现 useMemo 的方式

最后是我的 useEffect

但即使更新的细节与前一个相同,它也总是每 30 秒记录一次“内容更改”。

我在这里使用 useMemo 的方式错了吗?

0 投票
1 回答
38 浏览

javascript - 使用 npm run-script build 构建应用程序后出现 useMemo 错误

npm run-script build我的反应站点上使用并运行 index.html 后,浏览器会TypeError: Object(...) is not a function在这部分代码上抛出错误{useMemo(() => <Tabulka/>, [bom,db,skipParams,columnNameMap,tableColumnOrder])}。我应该怎么做才能让它工作?

0 投票
2 回答
934 浏览

reactjs - useMemo 钩子不适用于地图元素

我正在使用 useMemo 钩子来渲染地图项。我将 items 参数添加到 useMemo 钩子中,基于它会呈现的项目更改。但是改变加载状态和项目改变,Item 自定义组件渲染两次。我在使用 useMemo 钩子时是否犯了任何错误,请纠正我。

结果:第一次: props {id: 1}

点击后: props {id: 1} props {id: 4}

0 投票
1 回答
1133 浏览

reactjs - 对一组对象使用 useMemo/React.memo 以防止在编辑其中一个对象后重新渲染的最佳方法?

我正在为我的 React 应用程序的性能问题而苦苦挣扎。例如,我有一张卡片列表,您可以在 Facebook 上添加类似的卡片。一切,一旦其中一个孩子更新,所有列表都会重新呈现,所以在这里我尝试使用 useMemo 或 React.memo。我以为我可以将 React.memo 用于卡片组件,但没有成功。不知道我是否错过了一些重要的部分..

父.js

使用PostLike.js

Child.js

LikeButton.js

这里的主要问题是,当其中一个列表更新时,使用备忘录的最佳方式是什么。记住父组件中的整个列表或每个子列表,或者在子组件中使用 React.memo ......(但想象一下,如果用户编辑它们,其他事情也会改变。例如文本,图像......)我总是看到父组件使用 React 开发工具突出显示。

0 投票
1 回答
71 浏览

reactjs - useMemo 关键依赖:一个依赖的请求是一个表达式

React.lazy首先,我使用和 useMemo加载一个 Redux 连接的组件

然后,我根据我的路线渲染它,BrowserRouter如下所示:

我有多个要延迟加载的路由器。我无法提取“useMemo()”函数,因为我收到警告:

我做错了什么,这里有什么问题?