问题标签 [mapstatetoprops]

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 回答
54 浏览

vue.js - 如何在计算方法和mapState中分配数组中的动态参数

你好,这是我的计算方法:

如果我把 state.festival.aftermovies [0] 它工作但如果我尝试在 url 中获取 id,id 是未定义的,请你帮帮我

0 投票
1 回答
31 浏览

javascript - 如何正确映射一个数组,该数组来自我在 mapStateToProps 中定义的属性之一,以便在我的表单中选择下拉菜单?

以下代码来自我的应用程序组件文件夹中的 NewFighterForm.js 文件:

我的表单底部是我想输入下拉选择的地方,供用户选择他们想将战斗机添加到哪个列表中。在我放置在mapStateToProps中的调试器中,我看到了在“ lists: state.myLists ”中定义的列表数组。我希望能够正确映射数组并显示选择选项供用户选择列表。我假设我需要添加“列表”作为为NewFighterForm定义的破坏属性之一(如果我的理解正确,请告诉我)。如果需要更多详细信息,请告诉我,我会相应地更新帖子。谢谢大家,非常感谢!

0 投票
1 回答
285 浏览

javascript - React Hook useEffect() - 在 mapStateToProps 之后运行

我在我的 React 应用程序中使用钩子来处理状态。

我的应用程序具有notes与类别相关联的categoryId.

NoteList通过安装组件来显示特定类别中的注释。

功能NoteList组件

选择器

我创建notesToRender是因为有时我需要在渲染注释之前过滤它们(此处未显示该代码)。

在类别(更新)之间切换时props.categoryObj.id,注释无法正确显示。

加载应用程序时,状态是正确的,但在类别之间切换时,useEffect 会以某种方式导致状态“落后一步”。

  1. A 类 - 初始负载 - 正常
  2. 切换到“B 类”——console.log() 显示正确的 categoryId,但来自 A 类的注释
  3. 切换到“A 类”——console.log() 显示正确的 categoryId,但来自 B 类的注释
  4. 切换到“B 类”——console.log() 显示正确的 categoryId,但来自 A 类的注释

... 等等

选择器的控制台日志显示了正确的注释。问题可能是在useEffect之后mapStateToProps触发?如何确保在 useEffect之前触发而不导致不必要的重新渲染 === 仅在更改时?mapStateToPropsprops.categoryObj.id

亲切的问候/K

0 投票
1 回答
39 浏览

javascript - React 组件不使用“mapStateToProps”从减速器读取状态

我正在使用 reducer 来读取状态并查看用户是否经过身份验证。我可以从其他文件中读取状态,但只有一个特定文件无法读取状态。

下面,我定义了 mapStateToProps

这是组件的渲染方法

编辑:这是我的 reducer 文件,名为“auth.js”,它将用户的状态存储为一个对象,并将 isAuthenticated 存储为布尔值

首先,我定义初始状态,然后对其进行更改,如上所述,我可以从其他文件中读取状态,因此该文件应该可以工作。还有一个额外的细节,当我第一次执行这样的代码时,它在 ViewPage 上运行,但是当我重新运行代码而不进行额外更改时,它停止读取。它可能与混合文件路径有关吗?

编辑 2:按照建议,我使用 Redux Extension 来查看状态。状态似乎是正确的。

谢谢您的帮助!

0 投票
0 回答
34 浏览

javascript - 访问从 Django Rest API 接收并传递给 props 的对象会在 React 的 render() 方法中创建一个 TypeError

描述:在 DRF 注册令牌身份验证后,我将令牌和 json 用户对象接收到我的 authReducer 中,该对象进一步向下传递到我的 rootReducer,并auth.user以我的状态存储。user对象是:

{id:1, first:"first", last:"last", username:"Santa",email:"xyz@gmail.com"}, 并且可以调用

在基于 React 类的组件的渲染函数中。

状态映射到道具:

一切正常 - 对象出现在上面的控制台中,但是如果我尝试访问对象的值,例如:

我收到一个TypeError: Cannot convert undefined or null to object.

但是这样做:

作品。这是为什么?我总是必须创建一个新对象吗?

0 投票
1 回答
262 浏览

reactjs - React Native Redux - 为什么我不能访问我的 redux 存储中的数据并显示它?

我在 Coursera 上完成了 React Native 课程,并且有一个使用 redux 和json-server显示数据的工作应用程序。我现在正在制作自己的应用程序,当我尝试访问它时,redux 不显示我的数据时遇到了很多麻烦。

在尝试自己找出问题后,我最终只是从我以前的项目中复制了所有 redux 文件并将其配置为工作。在将它们全部编辑以显示我当前的数据后,我又开始遇到问题,我不小心删除了工作代码的 git commit 并恢复到复制所有文件后的状态。我不能再让我flatlist的 inhomecomponent显示任何数据。

我已将代码压缩成最简单的形式,希望能得到一些帮助。

我基本上只是想使用一个 FlatList 来使用 MapStateToProps 显示来自我的 redux 存储的数据。在当前状态下,列表根本没有显示,这对我来说意味着它没有数据可以显示。它肯定在不同的迭代中工作,并显示了我的 db.json 文件中的数据。我不确定为什么它现在不起作用。

HomeComponent.js

ActionCreator.js

ActionTypes.js

配置存储.js

菜.js

MainComponent.js

db.json

0 投票
0 回答
33 浏览

react-redux - 使用 jest 测试 mapStateProps 函数

有人可以帮我为 mapStateProps 写一个开玩笑的测试用例吗?我到处都阅读了所有问题,但我无法与此相关。

组件代码

减速器:

当我运行覆盖时,它显示此功能未被覆盖,我不知道如何为 mapStateProps 编写测试用例,有人可以帮我解决这个问题。

0 投票
2 回答
39 浏览

reactjs - 尽管有数据,但地图功能未在列表项中呈现数据

我正在通过 mapStateToProp 接收工具数据列表。我还关注了其他类似的问题,这些问题仅通过一种在 map 函数中添加 return 的解决方案来解决,但它仍然不起作用。在日志中检查数据是否存在,甚至使用三元运算符来评估数据是否实际存在,但它仍然没有显示 else(':' 之后的代码)部分

在此处输入图像描述 您在此图像中看到数据的原因是,我有一个搜索栏来搜索工具,只要我输入文本来搜索工具,甚至清除搜索框,整个列表就会可见。

0 投票
0 回答
24 浏览

reactjs - 为什么 mapStateToProps 在我发送操作时返回默认/初始/空数据

我已经有这个错误好几天了,当我派发一个动作时,store.getState() 会显示更新的状态,但是当在其他组件中使用 mapStateToProps 时,更新的状态会丢失,并且显示的是默认状态。

控制台输出

提交表格

当我尝试在其他组件中查看更新数据时,它只显示默认状态:

0 投票
1 回答
41 浏览

reactjs - react-redux 当前道具值

我在页面上有三个按钮,当单击任何按钮时,我想从按 id 过滤的商店中获取所选值(在减速器中完成)。我正在尝试将 redux 与 mapStateToProps 和 mapDispatchToProps 模式一起使用,但看起来当我在单击任何按钮后尝试从商店访问当前选定的值时,它不会在控制台中反映正确的值。这不是如何使用“this.props.anyPropValue”吗?你能帮助澄清我的例子中有什么问题吗?第一次单击任何按钮时打印默认值,再次单击将打印先前单击的按钮值而不是当前值。

这是我为上面创建的简单应用程序的沙盒链接

代码的沙箱链接