草庐IT

组件设计

全部标签

javascript - 使用 PhantomJS 进行响应式设计测试

我有一个javascript应用程序(RequireJSwithBackbone),我正在使用PhantomJS和Jasmine对其进行测试。在经历了很多痛苦之后,我终于可以运行简单的测试了。我正在使用基于此处找到的测试运行器run-jasmine.js.我的应用程序是响应式的,因为随着视口(viewport)宽度的变化,各种DOM元素的宽度也会发生变化。我知道当我创建用于测试的“页面”时,我可以在“run-jasmine.js”中设置视口(viewport)宽度。我想知道的是.....您是否能够以某种方式在单个测试套件中循环遍历一系列视口(viewport)宽度。使用“run-jas

javascript - React 是否会自动 trim 已从 DOM 中删除挂载点的组件?

例如,如果我使用renderComponent渲染到DOM节点,然后手动删除DOM节点,我是否只是泄漏了内存?渲染到删除的DOM节点的React组件是否被trim? 最佳答案 您可能泄漏了内存。使用React.unmountComponentAtNode(node) 关于javascript-React是否会自动trim已从DOM中删除挂载点的组件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

javascript - React 的 getDOMNode 总是返回组件的根 DOM 节点而不是引用的节点

我正在努力在React中使用refs。它们总是返回组件的根DOM节点而不是引用的节点。请考虑以下示例:varAuthApp=React.createClass({onSubmitClick:function(event){varusernameInput=this.getDOMNode(this.refs.username);//Thislogsrootinsteadof,why???console.log(usernameInput);},render:function(){return();}});我检查了优秀的ChromeReact插件中的代码,似乎this.refs.usern

javascript - 集中导航的简洁设计?

上下文单页/ajax网络应用基本代码结构LocationManager(负责更新浏览器哈希并将应用程序位置切换到不同的磁贴)页面/磁贴流基本信息>家庭信息>车辆信息>购买选项>查看订单>输入付款并提交问题当用户从PurchaseOptions导航到ReviewOrder时,会进行长时间(5-8秒)的服务调用以计算订单详细信息。在调用解决后,回调旨在将用户导航到查看订单页面。问题是,如果用户在那段时间点击返回并返回到家庭信息,一旦调用解决,他们将“自动”进入审查订单。非常尴尬的用户体验。限制取消通话不是一种选择。需要一个解决方案来处理导航。当前提议的实现在调用calculateOrder

javascript - 在 React JS 中的组件之间切换

我想创建一个包含2个组件的简单流程。第一个组件被渲染,我点击它上面的一个按钮,这个Action渲染第二个组件。单击第二个组件的按钮,它应该切换回第一个组件,但是却发生了错误:Warning:React.createElement:typeshouldnotbenull,undefined,boolean,ornumber.Itshouldbeastring(forDOMelements)oraReactClass(forcompositecomponents).Checktherendermethodofexports.warning@react.js:20728ReactElemen

javascript - React 组件和模块导出

我不明白module.exports如何只能导出一个依赖于子组件但仍呈现在DOM中的组件,尽管该子组件从未导出过。//组件.jsvarSubComponent=React.createClass({...});varComponent=React.createClass({...render:function(){return(stuff`)}});module.exports=Component//main.jsvarComponent=require('./component.js');varMainContainer=React.createClass({render:funct

javascript - 将 React 组件从函数重构为 ES6 类

我是ES6的新手。对编写React组件的不同方式感到有点困惑。我从“React.createClass”开始,然后转向使用ES6类语法“扩展React.Component”。按照Redux教程,现在我看到他们以这种方式定义组件importReact,{PropTypes}from'react'constTodo=({onClick,completed,text})=>({text})Todo.propTypes={onClick:PropTypes.func.isRequired,completed:PropTypes.bool.isRequired,text:PropTypes.st

javascript - 在 promise 解决后修改组件状态

我想在promise解决后修改组件的状态(reactnative)。这是我的代码:classGreetingextendsComponent{constructor(props){super(props);this.state={text:'Starting...'};varhandler=newRequestHandler();handler.login('email','password').then(function(resp){this.setState({text:resp});});}render(){return(Resp:{this.state.text});}}但是当

javascript - 在 TypeScript 文件中导入 Vue 组件

我一直在尝试将Vue.js与TypeScript一起使用,我遇到了thisrepo.我在这里遇到了从TypeScript导入Vue单一组件文件时出错的问题。我正在使用VisualStudio代码。请查看下面的错误。main.ts://TheVuebuildversiontoloadwiththe'import'command//(runtime-onlyorstandalone)hasbeensetinwebpack.base.confwithanalias.import*asVuefrom'vue'importAppfrom'./App'/*eslint-disableno-new*

javascript - 当 Reactjs 组件中的 componentWillUnmount 时如何清除异步函数?

这是组件:classChartCompextendsComponent{constructor(props){super(props);this.timer=null;this.loadData=this.loadData.bind(this);}componentWillMount(){this.loadData();}componentWillUnmount(){if(this.timer){clearTimeout(this.timer);}}loadData(){//...getJSON(url,msg=>{//getdatafromserverif(msg.success){