草庐IT

javascript - ReactJS + 终极版 : How to wait until dispatch has been completed before moving onto next step?

在ReactJS+Redux项目中,我有一个方法可以发出API请求。如果成功,我想dispatch另一个Action创建者并等待它完成。然后当它完成时,进入下一步。目前,以下代码在进行另一个API调用时执行调度,但即使在通过调度更新状态之前,它也会立即执行window.location.href='http://localhost:3005/#/Home'然后调度完成。那么在执行下一行代码window.location.href='http://localhost:3005/#/Home'?这是Action创建者:loggingIn(userInfo){varuserInfoBody=

javascript - 在 API 请求的客户端应用程序中存储用户 ID

我有一个Node-ExpressRESTAPI,我可以在其中向用户Controller发出GET请求-/users/:id-其中:id是用户-id号码存储在数据库中。我还有一个调用API的React-Redux客户端应用程序。为了发出请求,客户端应用需要访问用户ID,但我目前不确定在客户端存储用户ID的最佳方式。对于其他上下文,我的API向客户端发送一个JWTtoken在持有用户ID的登录时;客户端应用程序将token保存在localStorage中。当客户端发出请求时,API会验证解码token中的用户ID是否与URL中包含的ID匹配,然后再将响应发送回客户端。我看到了两个可能的解决

javascript - 将整个 Redux 状态对象传递到 React 组件中是否可以?

我们有一个组件需要访问Redux的商店。importReactfrom'react'import{connect}from'react-redux'constComponent=(props)=>{...code...}我们已使用connect将此组件连接到商店。exportdefaultconnect(mapStateToProps)(Component)我们现在需要定义mapStateToProps作为第一个参数传递给connect。constmapStateToProps=state=>({...state})为什么这种将数据注入(inject)组件的方法是可以接受的,或者为什么

javascript - 如何处理 redux 应用程序中 react-router 路由中的无效 ID?

我有呈现消息的路由/messages/:id。但是,如果id指向一个不存在的消息,应该在哪里以及如何处理它?我的组件使用redux绑定(bind)到消息:functionmapStateToProps(state,ownProps){return{message:state.messages[ownProps.params.id]}}然后message将是undefined以防不存在这样的消息并且组件必须处理它,并呈现不同的东西。但是,这似乎会使组件膨胀,我想也许这应该在路由器中处理?如果没有这样的消息,则不应允许调用该路由。有什么想法吗? 最佳答案

javascript - 使用动态生成的选项为 Select react defaultValue

使用defaultValue或valuePropon而不是设置selectedon。ReactAngulardefaultValue可以与上面的选择标签一起使用。但是,它似乎不适用于循环生成的选项。{option_id.map(id=>{options[id].name})}声明defaultValue时可能选项没有完全设置?我可以在componentDidUpdate()和onChange事件中进行手动分配。但我的问题是-是否有任何更清洁(更好)的方法来解决它?谢谢。 最佳答案 这是旧的,但由于答案#1与controlledSel

javascript - redux-form 如何加载数据进行编辑

我正在使用redux-form加载编辑表单的初始数据似乎让我感到困惑,但提交时未验证数据。我已经设法将数据传递并加载到字段中,但似乎没有加载到表单Prop等中。请查看以下代码,如果需要更多信息,请告诉我。Form_Bayan.jsimportReact,{Component,PropTypes}from"react";import{browserHistory}from"react-router";import{reduxForm,Field}from"redux-form";import{MyCustomInput,MySimpleInput,MyCustomSelect}from"

javascript - redux 存储的最大内存大小是多少?

我正在用React编写应用程序。我正在使用Redux将我的数据存储在页面上。此数据包含一个巨大的用户对象(最多嵌套3级),其中包含所有用户数据。我几乎在任何地方都在使用它,所以我认为最好将它存储在redux中,而不是每次需要时都从服务器请求它。此数据可能约为70-80KB,但我认为每个用户的平均大小为30-40kb。此数据是结合5-6个reducer和30-50个操作修改的。我有一个使用所有这些数据的组件和10-15个使用部分数据的组件。reduxstore的大小可以接近100kb吗?对App性能有影响吗?任何浏览器都可以在没有任何性能问题的情况下处理我的应用吗?你能提供你的平均red

javascript - 如何将事件从 Redux 传递给 React?

我有一个基于GUIReact/redux的应用程序。作为View的一部分,有一个我希望闪烁的“指示器”react组件,闪烁是通过CSS3动画(动画帧)完成的。调用react组件的indicator.blink()成员函数使指示器闪烁(它基本上从DOM元素中删除了blink类,然后在1ms之后再次添加它,作为hack来获取围绕CSS3动画没有“重启”api的事实)。在redux框架中发生某些Action时(如果需要,它们可以是thunk),我希望在ReactView中调用此blink()函数。如何最好地做到这一点?让redux操作修改应用程序状态,然后将指示器元素作为prop绑定(bin

javascript - react /归零 : mapStateToProps not actually mapping state to props

我在项目中使用React和Redux,但在实现启用/禁用按钮的功能时遇到问题。我已经能够:触发方法让该方法触发Action创建器发送一个Action在reducer中捕获该操作并创建一个新的更新状态在ReduxDevTools中查看更新状态但是,启用/禁用功能仍然不起作用,因为似乎mapStateToProps和connect实际上并未将状态映射到Prop。我正在跟踪canSubmit,它在状态内发生变化,但在props中是undefined。我缺少什么才能成功地将状态映射到Prop?相关代码:用户窗体ViewconstmapStateToProps=(state)=>({router

javascript - 在 react/redux 应用程序中,在哪里保存服务实例?

假设我正在用Redux编写一个应用程序,我的任务是使用第3方库添加日志记录。其API如下:functioncreateLogger(token){//theloggerhasinternalstate!letlogCount=0;return{log(payload){logCount++;//modifylocalstatefetch('/someapi',{//shippayloadtosomeAPImethod:'POST',body:payload});}};}然后我会像这样使用库:letlogger=createLogger('xyz');logger.log('foobar