问题标签 [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.
vue.js - 如何在计算方法和mapState中分配数组中的动态参数
你好,这是我的计算方法:
如果我把 state.festival.aftermovies [0] 它工作但如果我尝试在 url 中获取 id,id 是未定义的,请你帮帮我
javascript - 如何正确映射一个数组,该数组来自我在 mapStateToProps 中定义的属性之一,以便在我的表单中选择下拉菜单?
以下代码来自我的应用程序组件文件夹中的 NewFighterForm.js 文件:
我的表单底部是我想输入下拉选择的地方,供用户选择他们想将战斗机添加到哪个列表中。在我放置在mapStateToProps中的调试器中,我看到了在“ lists: state.myLists ”中定义的列表数组。我希望能够正确映射数组并显示选择选项供用户选择列表。我假设我需要添加“列表”作为为NewFighterForm定义的破坏属性之一(如果我的理解正确,请告诉我)。如果需要更多详细信息,请告诉我,我会相应地更新帖子。谢谢大家,非常感谢!
javascript - React Hook useEffect() - 在 mapStateToProps 之后运行
我在我的 React 应用程序中使用钩子来处理状态。
我的应用程序具有notes
与类别相关联的categoryId
.
NoteList
通过安装组件来显示特定类别中的注释。
功能NoteList
组件
选择器
我创建notesToRender
是因为有时我需要在渲染注释之前过滤它们(此处未显示该代码)。
在类别(更新)之间切换时props.categoryObj.id
,注释无法正确显示。
加载应用程序时,状态是正确的,但在类别之间切换时,useEffect 会以某种方式导致状态“落后一步”。
- A 类 - 初始负载 - 正常
- 切换到“B 类”——console.log() 显示正确的 categoryId,但来自 A 类的注释
- 切换到“A 类”——console.log() 显示正确的 categoryId,但来自 B 类的注释
- 切换到“B 类”——console.log() 显示正确的 categoryId,但来自 A 类的注释
... 等等
选择器的控制台日志显示了正确的注释。问题可能是在useEffect之后mapStateToProps
触发?如何确保在 useEffect之前触发而不导致不必要的重新渲染 === 仅在更改时?mapStateToProps
props.categoryObj.id
亲切的问候/K
javascript - React 组件不使用“mapStateToProps”从减速器读取状态
我正在使用 reducer 来读取状态并查看用户是否经过身份验证。我可以从其他文件中读取状态,但只有一个特定文件无法读取状态。
下面,我定义了 mapStateToProps
这是组件的渲染方法
编辑:这是我的 reducer 文件,名为“auth.js”,它将用户的状态存储为一个对象,并将 isAuthenticated 存储为布尔值
首先,我定义初始状态,然后对其进行更改,如上所述,我可以从其他文件中读取状态,因此该文件应该可以工作。还有一个额外的细节,当我第一次执行这样的代码时,它在 ViewPage 上运行,但是当我重新运行代码而不进行额外更改时,它停止读取。它可能与混合文件路径有关吗?
编辑 2:按照建议,我使用 Redux Extension 来查看状态。状态似乎是正确的。
谢谢您的帮助!
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.
但是这样做:
作品。这是为什么?我总是必须创建一个新对象吗?
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
react-redux - 使用 jest 测试 mapStateProps 函数
有人可以帮我为 mapStateProps 写一个开玩笑的测试用例吗?我到处都阅读了所有问题,但我无法与此相关。
组件代码
减速器:
当我运行覆盖时,它显示此功能未被覆盖,我不知道如何为 mapStateProps 编写测试用例,有人可以帮我解决这个问题。
reactjs - react-redux 当前道具值
我在页面上有三个按钮,当单击任何按钮时,我想从按 id 过滤的商店中获取所选值(在减速器中完成)。我正在尝试将 redux 与 mapStateToProps 和 mapDispatchToProps 模式一起使用,但看起来当我在单击任何按钮后尝试从商店访问当前选定的值时,它不会在控制台中反映正确的值。这不是如何使用“this.props.anyPropValue”吗?你能帮助澄清我的例子中有什么问题吗?第一次单击任何按钮时打印默认值,再次单击将打印先前单击的按钮值而不是当前值。
这是我为上面创建的简单应用程序的沙盒链接