我正在与其他几个开发人员一起开发一个React+Redux项目,但我们无法就在何处传递状态和操作的最佳实践达成一致。我的方法是拥有一个“容器”或“提供者”组件,它是父组件,所有必需的状态和操作都映射到状态并向下传递到子组件,从而创建单一的真实来源。然而不利的一面是,您必须记住通过每个子组件向下传递操作和值,这可能很难遵循。另一种开发人员方法是在每个需要它的组件上,在堆栈中的任何位置使用mapStateToProps。因此,如果向下三层或四层的子组件需要特定状态,他将在该组件上使用mapStateToProps。他还会使用import关键字直接导入Action创建器,而不是将它们称为Pr
我试图了解React和Redux是如何工作的,我正在查看来自thisexampleproject的FuelSavingsPage.js.我在mapDispatchToProps中得到了actions的来源,但我不明白state是如何传递给mapStateToProps或者dispatch如何传递给mapDispatchToProps。这是怎么回事?importReact,{PropTypes}from'react';import{connect}from'react-redux';import{bindActionCreators}from'redux';import*asaction
我们有一个组件需要访问Redux的商店。importReactfrom'react'import{connect}from'react-redux'constComponent=(props)=>{...code...}我们已使用connect将此组件连接到商店。exportdefaultconnect(mapStateToProps)(Component)我们现在需要定义mapStateToProps作为第一个参数传递给connect。constmapStateToProps=state=>({...state})为什么这种将数据注入(inject)组件的方法是可以接受的,或者为什么
我在项目中使用React和Redux,但在实现启用/禁用按钮的功能时遇到问题。我已经能够:触发方法让该方法触发Action创建器发送一个Action在reducer中捕获该操作并创建一个新的更新状态在ReduxDevTools中查看更新状态但是,启用/禁用功能仍然不起作用,因为似乎mapStateToProps和connect实际上并未将状态映射到Prop。我正在跟踪canSubmit,它在状态内发生变化,但在props中是undefined。我缺少什么才能成功地将状态映射到Prop?相关代码:用户窗体ViewconstmapStateToProps=(state)=>({router
说我有一个Container通过以下方式连接到redux:constmapStateToProps=({MyReducer})=>({myProp:MyReducer.myProp});是否可以通过父级强制myProp的值(覆盖redux)?我试过:但是mapStateToProps会覆盖提供的值。注意:我无法更改容器,我的问题是是否只能通过父容器来完成。(当然这意味着糟糕的状态设计,但不幸的是它已经到了那个地步)谢谢 最佳答案 mapStateToProps接受twoarguments.所以我想你可以通过以下方式覆盖它:const
我有一个问题,直接从商店使用getState或使用mapStateToProps有什么区别。请看我下面的例子importReact,{Component}from'react'importstorefrom'../store'import{connect}from'react-redux';classTestextendsComponent{constructor(props){super(props);}render(){return({this.props.count}{store.getState().reducer1.count})}}constmapStateToProps=
我试图了解mapStateToProps返回函数时的机制。所以我找不到太多的文档,除了Redux文档的一个简短摘录,它通过返回一个函数提前说明情况,每个实例都会得到自己的内存mapStateToProps和另一个用户说这是一种防止mapStateToProps被要求更改任何父属性。所以这对于列表项来说似乎很棒,我不想为不影响项目的任何更改重新呈现大型项目列表。所以让我感到困惑的部分是mapStateToProps不会因任何父属性更改而被调用,这是否意味着为了重新呈现单个列表“Item”,它需要成为它的智能连接组件获取它关心的更改并重新渲染?或者这是否意味着它永远不会为这个特定的Item
我遇到了一个示例,其中mapStateToProps函数正在使用备注。我只是想知道如何将“状态”参数传递给已内存的选择器。在查看了文档以进行重新选择以及redux之后,似乎mapStateToProps可以返回一个接受状态作为其参数的函数,而连接装饰器可能是将状态传递给它的函数,但不确定。有人可以说明一下吗?观看次数/tracklist/index.jsconstmapStateToProps=createSelector(getBrowserMedia,getPlayerIsPlaying,getPlayerTrackId,getCurrentTracklist,getTracksF
我正在构建我的第一个React-Redux应用程序,在许多情况下,我可以选择执行或者有然后做functionmapStateToProps({pagination:{page}}){return{pageNumber:page+1};}使用一种或另一种方式的含义是什么?我什么时候应该更喜欢一种方式?是否有关于如何拾取Prop的最佳实践?每次用都感觉有点不好mapStateToProps在一些深层嵌套的组件中,因为感觉组件与特定页面/应用程序的状态耦合。 最佳答案 没有一个好的答案。根据位于http://redux.js.org/do
我在试图弄清楚为什么我在状态中获取和存储的JSON数据没有映射到我的组件属性时遇到了困难,但在console.log()时出现从mapStateToProps()函数中编辑。我是不是做错了什么我在这里没有看到?编辑:显然状态上的属性被映射到组件但是是嵌套的。当从mapStateToProps()中记录时,data属性必须通过state.state.data访问。在此之前(参见reducer),当action.data被记录时,数据会按预期出现。没有奇怪的嵌套。也许connect函数有问题?查看如何在状态对象中填充状态属性:下面是我的组件:classViewSelectorextends