如何使用normalizr处理嵌套标准化JSONAPI通过{data:...}标准的关键响应?例如书籍{data:{title:'LordoftheRings',pages:9250,publisher:{data:{name:'HarperCollinsLLC',address:'Bigbuildingnexttotheriver',city:'Amsterdam'},},author:{data:{name:'J.R.RTolkien',country:'UK',age:124,}}}}我将如何设计架构来处理嵌套数据键? 最佳答案
编辑:我能够根据设置{pure:false}的Redux故障排除中的建议让连接的子更新上下文更改,但是我需要添加这对所有连接的组件都是我想要更新的child的parent。必须对很多组件执行此操作似乎很奇怪且效率低下。首先,在深入探讨我认为的问题所在之前,我将描述我想要的最终结果。我想访问reactrouter的参数从我的Route组件的孙组件中。有几个引用资料说,如果您不使用"recording,persisting,andreplayinguseractions,usingtimetravel",则无需将当前路线与商店同步。所以到目前为止我已经避免了。丹阿布拉莫夫说here让它们不
我有一个简单的react-redux驱动的表单。我希望有一个form.container.tsx和一个form.component.tsx,其中form.container.tsx包含与redux状态减去Field的所有连接。我试图将我的容器包装在react-redux的连接中,然后将reduxForm包装在其中,看起来像TypeScript,redux-formandconnect:(理想)form.container.tsx:interfaceDummyFormContainerProps{}exportconstDummyFormContainer:React.SFC=props
我一直在我的React应用程序中使用Redux,但有些事情一直困扰着我。Redux的文档非常清楚地表明reducer应该是无状态的。你经常会看到这样的例子:functionreducer(state={exampleState:true},action){switch(action.type){case"ACTION_EXAMPLE":returnObject.assign({},state,{exampleState:false});default:returnstate;}}我的问题是为什么需要这样做?JavaScript是单线程的。reducer内部不可能出现竞争条件。据我所知,
我正在寻找为容器(这是与redux存储连接的智能组件)定义默认Prop的最佳实践,我发现至少有两种方法可以实现它。在我的reducer中使用initialState:constinitialState={name:'John'};exportdefaultfunctionuserState(state=initialState,action){...}使用defaultPropsUser.defaultProps={name:'John'};哪个最好,为什么? 最佳答案 你应该使用初始状态。redux和其他管理应用程序状态的库背后的
Reduxdocumentations说我应该像这样制作Action和Action创建者:functionaddTodo(filter){return{type:SET_VISIBILITY_FILTER,filter}}然后写reducers,像这样:functiontodoApp(state=initialState,action){switch(action.type){caseSET_VISIBILITY_FILTER:returnObject.assign({},state,{visibilityFilter:action.filter});}}然后我使用dispatch调用
这里是Redux传奇新手。我需要创建一个传奇,从我的API服务器加载redux存储的初始状态。这涉及使用两个异步传奇:getCurrentUser和getGroups。我需要并行发出这些ajax请求并等待GET_CURRENT_USER_SUCCESS和GET_GROUPS_SUCCESS操作,然后再发出告诉UI的pageReady操作是时候渲染React组件了。我想到了一个hacky解决方案:function*loadInitialState(){yieldfork(getCurrentUser)yieldfork(getGroups)while(true){yieldtake([a
假设我有一个不支持Redux的地理定位服务,我这样配置它:backgroundGeoLocation.configure(callback//willbecalledwithanargumentwhenthecoordinateschange);在不从单独的模块导出store并使用store.dispatch()的情况下,使服务回调分派(dispatch)Redux操作的最干净的方法是什么(因为这将是单例)? 最佳答案 如果你想将一些值传递给JavaScript中的某段代码,你需要使用函数。例如,functioncreateGeoL
我正在尝试在我的项目中升级到新发布的react@15.0.0-rc.1,该项目也使用react-redux@^4.4.0包。但是,当我尝试运行文档中建议的升级时(https://facebook.github.io/react/blog/2016/03/07/react-v15-rc1.html)npminstall--savereact@15.0.0-rc.1react-dom@15.0.0-rc.1由于版本不兼容出现错误:npmERR!peerinvalidPeerreact-addons-test-utils@0.14.7wantsreact@^0.14.7npmERR!peer
编辑:我最终选择了Mobx.js,有关详细信息,请参阅@mweststrate答案。所有关于redux的学习资源都展示了如何将它与普通对象模型一起使用。但是当你使用一些es6类模型时,我无法弄清楚如何使用它。例如,让我们采用这种状态形状:{players:{000:{life:56,lvl:4,//...},023:{life:5,lvl:49,//...},033:{life:679,lvl:38,//...},067:{life:560,lvl:22,//...},//...}还有这个类(未测试)classPlayer{id;//intlife;//intlvl;//intbuff