草庐IT

acts-as-state-machine

全部标签

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 - 如何解决 Component should be written as a pure function error in eslint-react?

constHeader=React.createClass({contextTypes:{router:React.PropTypes.object.isRequired,},render(){return(AB);},});我使用eslint-config-airbnb检查上面的代码,它向我显示一条错误消息,例如Componentshouldbewrittenasapurefunction。那么如何将上面的组件改成纯函数呢?感谢您的帮助。 最佳答案 当你有一个“哑”组件(没有内部状态、生命周期方法等)时,你可以将它写成一个简单的j

javascript - 带有 Webpack 的 VueJS : imports and exports not working as expected

我启动了一个新的Vuetify/Webpack项目,并尝试通过vueinitvuetify/webpack设置项目后实现vue-router。我根据thistutorial中的说明设置路由器.经过一些摆弄后,我通过更改导入Vue组件的方式使其正常工作。在我的router/index.js文件中://worksformeimportMainfrom'../components/Main.vue'//doesNOTwork;fromthetutorialimportMainfrom'@/components/Main'我的问题是,为什么我必须相对导入我的Main.vue文件并在导入时包含.

javascript - 通过书签发布到 Wayback Machine

我正在尝试使用“保存页面功能”制作一个小书签,允许用户通过单击将页面推送到InternetArchive。根据我收集到的信息,如果我发布到http://web.archive.org/save/fullURI它会将页面保存在fullURI(即fullURI=http://www.google.com,带有所有斜线)所以我写了下面的小书签(为清楚起见添加了空白,并删除了javascript:以强制语法突出显示)(function(){varu='http:\/\/web.archive.org\/save\/'+encodeURI(window.location.href);varw=w

javascript - chai-as-promised:单个测试中的多个 expect 语句

我正在使用chai-as-promised测试一些promise。我的问题是我不确定如何在单个测试中有多个expect语句。为了让expect().to.be.fulfilled正常工作,我需要返回它,如下所示:it('test',()=>{returnexpect(promise).to.be.fulfilled}...或者使用notify,像这样:it('test',(done)=>{expect(promise).to.be.fulfilled.notify(done)}当我有另一件事需要检查时,例如某个函数被调用时,问题就来了,如下所示:it('test',(done)=>{v

javascript - "import * as"是否比特定的命名导入效率低?

这个问题在这里已经有了答案:IsusinganES6importtoloadspecificnamesfasterthanimportinganamespace?(2个答案)关闭4年前。假设我有一个像这样的模块foo:exportconstf=x=>x+1;exportconstg=x=>x*2;我可以像这样使用这个模块:import{f,g}from'foo';console.log(f(g(2)));或者像这样:import*asfoofrom'foo';console.log(foo.f(foo.g(2)));我更喜欢第二种方式,因为它可以防止模块之间的名称冲突。但是,impor

javascript - 如何知道鼠标按钮的当前状态(mouseup state or mousedown state)

在Javascript中,当我单击滚动条(页面中出现的任何滚动条)并将鼠标悬停在图像上时,图像再次开始拖动。图像只能在鼠标按钮按下状态下拖动。所以我试图通过了解鼠标按钮状态(mousedown或mouseup)来解决这个问题这个问题只存在于IE和chrome,我试过的其他浏览器都不存在。Javascript:document.onmousemove=mouseMove;document.onmousedown=mouseDown;document.onmouseup=mouseUp;functionmouseMove(ev){varmouseButtonState;//putcodeh

javascript - 防止 this.state 与 setState 一起使用

Thereference状态:setState()doesnotalwaysimmediatelyupdatethecomponent.Itmaybatchordefertheupdateuntillater.Thismakesreadingthis.staterightaftercallingsetState()apotentialpitfall.Instead,usecomponentDidUpdateorasetStatecallback(setState(updater,callback)),eitherofwhichareguaranteedtofireaftertheupd

JavaScript 对象文字 : Property names as strings vs. "raw"

有没有区别:varx={hello:'world'};和varx={'hello':'world'};?也就是说,在什么情况下,将属性名称作为字符串给出与将其作为“原始”名称给出会产生不同的结果?例如,我知道varx={};x['@£$%']='bling!';是有效的(因为任何字符串都可以是属性),但是x.@£$%='bling!'不会工作。语言关键字或保留关键字也不会作为属性名称(因此varx={for:'good',class:'y'};将不起作用。还有什么吗?例如,如果varhello='goodbye';是在上面的例子中定义的吗?或者其他的,比如functionhello()

javascript - react : Get initialstate after state has changed

是否有可能在状态改变后检索初始状态?例如:React.createClass({getInitialState:function(){return{foo:'bar'}},componentWillMount:function(){this.setState({foo:'foo'})},componentDidMount:function(){//gettheinitialstate"bar"?}})我在文档中找不到任何内容。我当然可以将值保存在外部变量中,但我只是好奇是否可以将初始状态视为可以重复使用的“配置”对象。 最佳答案 不