jjzjj

redux-forms

全部标签

javascript - 文本编辑器的 Redux 架构 : dealing with coupled state

我正在使用React/Redux构建一个在某些方面类似于文本编辑器的应用程序。它不完全是一个文本编辑器,但它是相同的通用范例。有一个用于放置新项目的光标。可以添加、选择、删除项目等。我正在努力寻找一种符合redux精神的最佳方式来构建我的reducer。我有单独的状态切片来表示选择状态、文本本身、光标状态和其他设置。我认为“redux”方法是为每个状态切片设置缩减器,独立地改变状态以响应Action。然而,在文本编辑器中,这些状态片比乍看之下更加耦合。当你按下一个键时,有时会在光标所在的位置添加一个字母,并且光标会向前移动。但是,如果选择了文本,则将首先删除所选文本。如果您处于“插入”

javascript - redux-form onSubmit 刷新页面

我是redux-form的新手,在处理onSubmit时遇到了一个奇怪的问题。当我完全按照此处的redux-form示例设置我的项目时http://redux-form.com/6.7.0/examples/syncValidation/它按预期工作。我试图根据我的需要扩展这个示例,并确认它在加载表单时按预期工作,如下所示:路由组件>表单。当我尝试在通过路由(路由组件>容器组件>表单)加载的react组件中加载表单时,问题就出现了。当我点击提交时,字段值被添加到地址栏并且表单验证不运行。我已经尝试了我能想到的一切来解决这个问题。如果替换,下面提供的代码将正常工作与在index.js中。

javascript - 使用 Redux、React 和 react-router-dom 4.x 时从动态组件获取 ref

我有以下类(class)classMatchBoxextendsReact.Component{constructor(props){super(props);this.countdownHandler=null;this.showBlocker=true;this.start=this.start.bind(this);}start(){...}render(){...return(...);}};functionmapStateToProps(state){...}functionmatchDispatchToProps(dispatch){...}exportdefaultwit

javascript - Redux Saga navigator.geolocation.getCurrentPosition

我使用reduxsaga创建应用程序,但我遇到了地理定位问题。实际上我找到了解决方案,但我不明白它是如何工作的。functionuserPositionPromised(){constposition={}if(navigator.geolocation){navigator.geolocation.getCurrentPosition(location=>position.on({location}),error=>position.on({error}),{enableHighAccuracy:true})}return{getLocation:()=>newPromise(loc

javascript - enctype = "multipart/form-data"在 ie9 和 chrome 之间工作不同

我想将一些数据发布到另一个enctype等于multipart/form-data的域,因为我想要服务器端的未修改数据。这是我的测试代码:functionx_domain_post(url,data){vardd=document.createElement('div');varifrname="client_proxy";dd.innerHTML="";document.getElementsByTagName('body')[0].appendChild(dd);varifr=document.getElementById(ifrname);varf=document.create

javascript - 将 Canvas 图像作为 multipart/form-data 类型的 Blob 上传到 facebook

我正在尝试使用facebookapi从我保存在页面上的Canvas上传图像:varfile=dataURItoBlob(canvas.toDataURL('image/jpeg',1.0))FB.api('/me/photos','POST',{source:file,message:'photodescription'},function(response){console.log(response)})这是blob转换器:functiondataURItoBlob(dataURI){varbyteString=atob(dataURI.split(',')[1]);varab=ne

javascript - 在不制作副本的情况下替换 react redux reducer 中的新状态

如果我已经完全替换了状态的一部分,我是否仍然需要使用Object.assign或扩展运算符来复制原始状态并将其替换为新状态,或者我可以直接返回我的reducer中的新状态?constfetching=(state={isFetching:false},action)=>{switch(action.type){case'REQUESTING':returnObject.assign({},state,{isFetching:true})case'RECEIVE_POKEMON_TYPE_INFO':returnObject.assign({},state,{isFetching:fal

javascript - Redux Action 中的 Getters - React Native

我希望有一些函数可以获取当前状态来用它做一些逻辑,而不必通过参数将当前状态传递给函数。这是我的例子。在我的Action文件中,我有:exportconstaddToSearchHistory=(newSearch)=>({type:ADD_TO_SEARCH_HISTORY,newSearch})exportconstaddToCardHistory=(newCard)=>({type:ADD_TO_CARD_HISTORY,newCard})例如,我想要一个“getter”函数,告诉我“搜索历史”是否已经达到10个项目。所以我所做的是:exportconstsearchHasMaxH

javascript - 将 Redux 状态传递给组件时的最佳实践

我正在与其他几个开发人员一起开发一个React+Redux项目,但我们无法就在何处传递状态和操作的最佳实践达成一致。我的方法是拥有一个“容器”或“提供者”组件,它是父组件,所有必需的状态和操作都映射到状态并向下传递到子组件,从而创建单一的真实来源。然而不利的一面是,您必须记住通过每个子组件向下传递操作和值,这可能很难遵循。另一种开发人员方法是在每个需要它的组件上,在堆栈中的任何位置使用mapStateToProps。因此,如果向下三层或四层的子组件需要特定状态,他将在该组件上使用mapStateToProps。他还会使用import关键字直接导入Action创建器,而不是将它们称为Pr

javascript - React Redux - 在辅助函数中访问现有商店

我试图在React组件之外获取商店实例(商店状态),即在单独的辅助函数中。我有我的reducer,我的Action,我在最上面的组件中创建了一个商店。//configStore.jsimport{createStore}from'redux';importgeneralReducersfrom'../reducers/generalReducers';exportdefaultfunctionconfigStore(initialState){returncreateStore(generalReducers,initialState);}//index.jsimport{Provid