草庐IT

reactjs-flux

全部标签

javascript - 异步设置 ReactJS 状态

如果您执行更新componentWillMount中的状态的异步操作(如文档所述),但在异步调用完成之前组件已卸载(用户导航离开),您最终会异步回调试图在一个现在未安装的组件上设置状态,一个"InvariantViolation:replaceState(...):Canonlyupdateamountedormountingcomponent."错误。解决这个问题的最佳方法是什么?谢谢。 最佳答案 您可以使用component.isMounted方法在替换组件状态之前检查组件是否实际附加到DOM。Docs.isMounted()r

javascript - 将 process.env 变量从 Node 传递或使用到 reactjs

如何将process.env变量从node传递或使用到reactjs?例如我有这个constnodeEnv=process.env.NODE_ENV||'发展'在我的开发中并且它有效(我认为因为它是开发而且我确实有后备'development'。但是当我们将它推送到我们的暂存服务器并设置NODE_ENV变量时,它只在第一次加载时起作用,但随后就不起作用了。我想我确实得到了这个,因为起初它由Node提供服务并且它可以访问服务器变量但之后它将是reactjs服务于页面(对吗?)并且它无法访问服务器的东西。那么,如何在不对它进行硬编码的情况下将变量添加到reactjs(因为我们最终会有不同的

javascript - 将 Facebook Web SDK 与 ReactJS 组件状态集成

我开始使用ReactJS、NodeJS、Webpack和FacebookSDK进行用户身份验证。所有这些技术及其相关的软件工程原则/最佳实践对我来说都是相对较新的(甚至JavaScript对我来说也是相当新的)。我已经按照这里的教程https://developers.facebook.com/docs/facebook-login/web进行操作,并且我的Facebook身份验证工作得很好!但是本教程内容的结构方式,在我看来,SDK的设计只是为了期望FB状态响应处理程序包含在标记内的原始页面HTML中。以下内容特别提到了这一点://LoadtheSDKasynchronously(f

javascript - 如何在回调 : ReactJS 中使用 setState

以下是我用来设置状态的代码。handleAddNewQuiz(event){this.quiz=newQuiz(this.db,this.newQuizName,function(err,affected,value){if(!err){this.setState({quiz:value});//ERROR:Cannotreadproperty'setState'ofundefined}});event.preventDefault();};即使数据库创建成功,我也无法调用this.setState,因为它始终未定义。我试过:self=this;handleAddNewQuiz(eve

javascript - ReactJS 如何处理 Rails 事件记录关联

我正在遍历用户的帖子项目。我可以根据我的关系列出项目而不是他们的个人资料:后模型:belongs_to:user资料模型:belongs_to:user用户模型:has_many:postshas_one:profile帖子Controller:classPostsController索引页面Controller:classPagesController没有JS,我通过以下方式获取值:%>现在有了React,我可以为此使用react-railsgem:varPosts=React.createClass({render:function(){varcreateItem=(p)=>({p

javascript - 在reactjs中管理整个 body

我有一个React组件管理React中的整个应用程序。看起来像:varPage=React.createClass({displayName:'Page',render:function(){return(React.DOM.div(null/*,stuffhere..*/));}});html看起来像我把它渲染成:React.renderComponent(Page(null),document.getElementById('content'));但相反,我想对整个body标签使用react,因此没有多余的嵌套div。我怎样才能渲染这样的东西? 最佳答案

javascript - ReactJS 页眉和页脚

我正在尝试创建一个Layout组件来呈现Header和Footer。这样我以后就可以像使用Layout...显然,我在页眉和页脚中使用了路由。为此,我需要使用当我在我的layout.js中一个接一个地执行此操作时(对于页眉和页脚:虽然我觉得这是错误的)。有用。页眉和页脚显示在浏览器中。但是,它们不能正常工作。刷新时,页脚消失,​​有时页眉和页脚都消失。我坚信一个接一个地渲染Router是造成这种故障的原因,但我想不出正确的方法。此外,我不想使用以下代码片段header.jsimportReactfrom'react';import{Link}from'react-router'impo

javascript - Internet Explorer 和 ReactJS 的 Object.entries() 替代品

好吧,我已经构建了几个星期的Web应用程序,一切都很好。我到达了我必须在InternetExplorer中测试的部分,在出现的所有问题中(除了一个之外,所有问题都是固定的),不支持Object.entries()。我一直在做一些研究并尝试提出一个简单的替代方案,但一点运气都没有。更具体地说,我从API中引入了一个对象,以填充的选项。字段我必须过滤一些信息,就像这样:Object.entries(this.state.filterInfo.sectorId).map(this.eachOption)//FunctioneachOption=([key,val],i)=>{return({

javascript - ReactJS:如何从另一个事件触发表单提交事件

我有两个react事件:表单提交事件sendMessage:function(event){console.log(event);event.preventDefault();},按键事件textareaKeypress:function(event){if(event.which==13&&!event.shiftKey){document.getElementById('messagebox').submit();}},但是reactJS没有捕获由textareaKeypress触发的表单提交。如何使用适当的事件从textareaKeypress调用sendMessage?

javascript - React Flux - 在调度中调度 - 如何避免?

我好像遇到过在Flux中无法避免dispatch-within-a-dispatch问题的情况。我读过一些关于这个问题的类似问题,但除了setTimeout黑客之外,它们似乎都没有好的解决方案,我想避免这种情况。我实际上使用的是alt.js而不是Flux,但我认为概念是相同的。场景想象一个最初呈现登录表单的组件。当用户登录时,这会触发一个XHR,最终响应身份验证信息(例如用户名),然后根据身份验证信息获取一些安全数据并呈现它而不是登录表单。我遇到的问题是,当我尝试根据XHR响应触发一个获取数据的操作时,它仍在LOGIN_RESPONSE操作的调度中,并触发了可怕的Error:Invar