草庐IT

状态机

全部标签

javascript - 在 React-Router 中将状态作为 Prop 从父级传递给子级?

过去几天我一直在使用React-Router,我非常喜欢它!我一直遇到的一个问题是我找不到将状态从父组件传递到子组件的最佳方法。我一直在查看一些堆栈溢出和博客文章,但我似乎无法找到我想要的东西。这是一个关于我正在寻找的东西的非常简单的例子。classAppextendsReact.Component{constuctor(props){super(props);this.state={name:"helloworld",lastname:"worldhello"};}render(){//SOMETHINGLIKETHISWOULDBEPREFFEREDif(this.props.ch

javascript - 使用javascript防止safari进入休眠状态

我正在实现一个javascript计时器,该计时器在iframe中加载,并且该计时器还会以特定的时间间隔播放一些音频文件,基本上它用于日常练习,所以说第一个练习持续10秒,然后第二个练习持续一分钟第三个持续2分钟,依此类推。当一个练习的时间结束并且下一个练习出现时,我会更改该特定练习的音频等等。我想要的是防止浏览器在手机(android、iOS)、笔记本电脑等各种模式下休眠,直到计时器运行为止。我已经为ios使用了2种解决方案,我正在使用它来重新加载页面,对于其他人,无论是android还是笔记本电脑,我都在尝试视频,如here.我最后检查的代码是varua={Android:/And

javascript - 刷新后 React-Redux 状态丢失

我真的是React和Redux的新手,我一直在学习StephenGrider的AdvancedReactandRedux类(class),并且我正在做身份验证的客户端。我已经在我的本地存储中保存了一个token,在我刷新页面之前一切似乎都运行良好。当我登录/注册时,导航会更改为显示注销按钮,但如果我手动刷新页面,导航会变回显示登录/注册按钮。我对此很陌生,不知道应该将什么作为代码片段包含在内。我将保留reducer和actions/index.js。还有this喜欢我的git仓库。Action/index.jsimportaxiosfrom'axios';import{browserH

javascript - 访问上一页用户点击时的历史状态 'back'

有没有办法在用户点击“返回”按钮时使用JS访问上一页的历史状态? 最佳答案 很遗憾,您不能阅读之前或之后的状态。您所能做的就是使用history.state读取当前状态。但是如果这一切都发生在同一个页面上而无需重新加载,为什么不将数据保存在自己的堆栈中。您可以为此使用数组-只需将相同的数据保存到数组和新状态即可。 关于javascript-访问上一页用户点击时的历史状态'back',我们在StackOverflow上找到一个类似的问题: https://sta

javascript - vuex- 状态作为函数或对象文字返回

前几天我遇到了一个问题,并向伟大的堆栈社区寻求解决方案。问题:我在其他模块中嵌套了相同的模块,但我是这样定义状态的:state:{//somestatehere}发生的事情是我的所有模块,尽管它们看起来嵌套在不同的模块下,但都共享相同的状态。解决方案state(){return{//statehereinstead}}解决方案是让函数返回状态,而不是将其定义为对象字面量。为什么有点道理。这是我的问题新问题当状态被定义为对象字面量而不是函数返回对象字面量时,存储的幕后发生了什么?您为什么不使用函数版本?这似乎很容易成为默认选择,但即使在vuexdocsformodules中也是如此,他们

javascript - 通过 shouldComponentUpdate 对无状态、函数式组件进行 React 优化

我知道React优化的一个关键点是使用shouldComponentUpdate()生命周期钩子(Hook)来检查当前状态/Prop与下一个/状态Prop。如果我正在构建一个主要使用功能组件而不是基于类的有状态组件(可以访问生命周期Hook)的React应用程序,我是否会放弃这种特定的优化?我可以在功能组件内部执行类似的检查吗? 最佳答案 无状态组件是future优化的候选对象,文档对此进行了暗示,但没有详细说明:Inanidealworld,mostofyourcomponentswouldbestatelessfunctions

javascript - 无法在 componentWillMount 中设置状态

我正在创建一个简单的聊天应用程序,我通过axios对我的数据库进行api调用,它返回一组消息对象。当我在componentWillMount中进行axios调用时,我能够获取数据。然后我试图setState来显示对话。这是代码:exportdefaultclassChatextendsComponent{constructor(props){super(props);this.state={messages:[],message:'',};this.socket=io('/api/');this.onSubmitMessage=this.onSubmitMessage.bind(thi

javascript - React 无状态功能组件的 Flow 返回类型是什么?

如果我有这样的东西constRandomComponent=(props)=>()我将如何使用Flow键入注释返回类型,即应该用什么替换/*???*/在下面的代码中?constRandomComponent=(props:{id:string,vino:number):/*???*/=>()编辑:This是Flow文档中关于无状态功能组件的内容。我可能是盲人,但我在那里看不到任何关于返回类型的信息,只有prop类型。 最佳答案 纯组件(与普通组件的render函数类型相同)的返回类型是?React$Element.正如您在itsde

javascript - 警告 : setState(. ..):无法在使用 redux/immutable 的现有状态转换期间更新

我遇到了错误Warning:setState(...):Cannotupdateduringanexistingstatetransition(suchaswithinrenderoranothercomponent'sconstructor).Rendermethodsshouldbeapurefunctionofpropsandstate;constructorside-effectsareananti-pattern,butcanbemovedtocomponentWillMount.我发现原因是constmapStateToProps=(state)=>{return{noti

javascript - jsTree:如何在第一次可视化时展开所有节点,然后使用 'cookies' 插件保存和恢复状态

我计划使用jsTree来可视化树状结构,我想实现以下行为:在第一次可视化时,我想展开所有节点任何连续的可视化都将使用“cookies”插件恢复到树结构的先前状态约束:我使用json对象来填充树我不能使用“initially_open”属性列出第一个可视化的ID,因为很难确定初始ID换句话说,我想实现类似于a)将节点的默认状态更改为“打开”或b)确定这是否是第一个可视化(如果我们不这样做,可能通过检查“cookie”插件属性)保持状态),如果是这样,则调用“open_all”想法受到赞赏。谢谢! 最佳答案 要展开所有节点,只需使用$(