草庐IT

javascript - 无法将 undefined 或 null 转换为对象 redux

我正在使用Redux做一个简单的商店,不幸的是它抛出了这个错误:Cannotconvertundefinedornulltoobject浏览器指向导入Redux那一行import*asreduxfrom"redux"我也试过用这种方式导入它,但它给出了同样的错误从“redux”导入{createStore}这是代码:import*asreduxfrom"redux"letreducer=(state={},action)=>{switch(action.type){case"ADD_POLL":return{polls:[...state.polls,action.poll]}defa

javascript - 当 redux 状态更新时在组件上调用 forceUpdate()

我有一个问题,redux状态被成功更新,但react组件没有重新渲染,经过一些研究我相信[forceUpdate()][1]可以解决我的问题,但我是不确定实现它的正确方法,即在redux状态更新之后。我尝试在github上查找示例,但没有成功。 最佳答案 正如其他人所说,forceUpdate()基本上是一种hack。只要Prop和状态发生变化,您就可以免费获得更新。React和Redux可以无缝协作,因此请避免任何此类黑客行为。如果您的Redux状态正确更新而您的ReactView没有正确更新,那么您很可能没有以不可变的方式更新。

javascript - react Hook : dispatch action from useEffect

我的文件夹结构:|--App|--Components|--PageA.js|--PageB.js|--PageC.js|--common-effects|--useFetching.js我正在重构我的代码以使用Reacthooks从API获取数据.我想从useFetching.js中的useEffect发送一个被saga中间件拦截的Action。仅当组件(PageA、PageB、PageC)挂载时才应分派(dispatch)此操作。我正在使用redux、react-redux和redux-saga。PageA.js:function(props){useFetching(action

javascript - Provider 中的无效 Prop child

过去几周我一直在学习React。首先使用普通React开发了一个简单的Chat,现在我开始将Redux集成到我的应用程序中。我添加了一个简单的Action、一个匹配的Reducer(以及一个根Reducer)和一个Store。然后我到达了需要使用react-redux库中的Provider的部分:importReactfrom'react';importReactDOMfrom'react-dom';import{Provider}from'react-redux';import{Router,browserHistory}from'react-router';importConfig

javascript - ./index.js 中的错误模块构建失败 : SyntaxError: Unexpected token

一直在试图找出我的设置或代码有什么问题,试图做redux主网站反例,但index.js文件中的提供程序有错误?谁能帮我解决这个问题?谢谢!Phongs-MacBook-Pro:counter2phongyewtong$npmstart>counter@1.0.0start/Users/phongyewtong/Desktop/counter2>nodeserver.js==>?Listeningonport3000.Openuphttp://localhost:3000/inyourbrowser.webpackbuilt7971049e2b70cfeba9b5in502msHash:

javascript - 如何在 ES5 Redux reducer 中初始化默认数据?

目前我还不能使用ES6/ES2015,我只能使用ES5来编写Reduxreducer。由于reducer的状态参数必须是不可变的,即使它是未定义的,我想出了以下模式:functionmyState(state,action){if(typeofstate==='undefined'){returnmyState({value1:'foo',value2:'bar'},action);}//actualstatecalculationhere}关于如何使用ES5确保默认值的任何替代建议或意见?编辑:经过一些问题和建议:我进行递归调用的原因是我非常重视“状态不可变”。因此,即使state参

javascript - 如何根据 Electron 菜单点击更改 Redux 状态?

我正在构建一个Electron基于React和Redux的应用程序。我从electron-react-boilerplate开始,非常简约且易于理解。我希望用户在Electron菜单上打开一个文件,因此我想调用一个reducer并更改Redux应用程序状态。非常简单的概念。问题是我不知道如何从根组件外部更改Redux状态。Electron菜单在main.jsfile中定义.根组件在index.jsfile中定义,连同Reduxstate(store变量)。在main.js文件中,我想做这样的事情:submenu:[{label:'&Open',accelerator:'Ctrl+O',

javascript - 在两个 Redux Reducers/State 之间共享数据

对于两个状态/reducer之间的数据共享,这是一个合理的解决方案吗?//combineReducersfunctioncoreReducer(state={},action){letfiltersState=filters(state.filters,action);leteventsState=events(state.events,action,{filters:filtersState});return{events:eventsState,filters:filtersState};}exportconstrootReducer=combineReducers({core:c

javascript - 共享 promise (在 Redux 状态下。)

我有一个函数依赖于从异步操作(API获取)解析的Promise。异步操作需要返回Fetchpromise,或者返回一个在Fetch完成时解析的promise。但是,Fetch应该只发生一次。我可以将获取promise存储在一个全局变量中,然后返回它,但这是Redux中的反模式吗?Promise是否应该在Redux存储中,因为它是应用程序状态的一部分?示例代码://ShouldthisbeinReduxStore?varpromise=null;myfunction(){doAsyncTask().then(()=>{//Continue});}doAsyncTask(){if(prom

javascript - 如何从无限的 RxJs 流中获取不是初始值的单个最新值?

概念这是一个模拟的angular2项目。当使用来自redux存储的可观察流时,我尝试先过滤,然后获取/takeLast/last最新值。之后,我想在流完成时解决promise,但在使用takeLast运算符时却没有。所以问题是:我可以使用什么运算符设置来从流中获取最新值?设置我将我的Angular2设置简化为RxJs使用的要点。sourceobservable由redux库管理,未完成服务正在提供一些逻辑来从流中检索最新值组件是消费值(value)promise风格这是一个工作示例:https://fiddle.jshell.net/markus_falk/an41z6g9/redux