草庐IT

异步组件

全部标签

javascript - 使用 Browserify 设置 Karma 以测试 React (ES6) 组件

我在使用Karma+Browserify为某些React组件设置测试配置时遇到了问题。提到代码是用ES6编写的,我已经升级到最新的Babel版本(6+),我认为这是此配置中万恶之源。由于Babel现在已拆分并具有这种基于插件的方法(预设),我不确定我应该如何在karma.conf文件中指定它。我当前的配置如下所示:module.exports=function(config){config.set({basePath:'',browsers:['PhantomJS'],frameworks:['browserify','jasmine'],files:['app/js/**/*','a

javascript - 创建由多个组件组成的表

因此,当我开始深入研究angular2时,我想我创建了一个列出人员的表。一个组件用于创建表格(person-list),另一个组件用于表格中的每个人(person-list-item)。很简单,对吧?通过以下输出,我意识到这并不容易。如您所见,表格行不遵循表格结构。通过在检查器中查看html,我们还可以看到毁了table。有没有办法解决这个问题,或者我应该只在中创建表格行?元素为了不让浏览器毁了表格?我想这是一个适用于多个组件会破坏某个DOM元素的其他情况的问题。app.componentimport{PersonListComponent}from'./person-list.com

javascript - 如何在 React 组件中将字符串渲染为子项?

拿一个简单的组件:functionMyComponent({children}){returnchildren;}这个有效:ReactDOM.render(Hello,document.getElementById('stage'));但这不是(我删除了):ReactDOM.render(Hello,document.getElementById('stage'));因为React试图调用render在字符串上:UncaughtTypeError:inst.renderisnotafunction另一方面,这工作正常:ReactDOM.render(Hello,document.get

javascript - 将有状态 React 组件转换为无状态功能组件 : How to implement "componentDidMount" kind of functionality?

我写了一个小的有状态React组件。加载此组件时,在componentDidMount方法中,我使用KendoUI在弹出窗口中显示组件的内容。这是我的代码:exportclassErrorDialogextendsReact.Component{constructor(props,context){super(props,context);this.errorPopupWindow=null;window.addEventListener('resize',this.resizeComponent);this.handleWindowKeyDown=this.handleWindowK

javascript - 如何将带有装饰器的 React 组件重写为纯函数?

我正在使用airbnbeslint设置,其中有arulethatenforcesstatelessreactcomponentstoberewrittenasapurefunction.下面的组件触发这个规则,这意味着下面的组件最好写成纯函数:importReactfrom'react';import{observer}from'mobx-react';importcssmodulesfrom'react-css-modules';importstylesfrom'./index.css';importSelectfrom'../Select/';importListfrom'../L

javascript - 如何使用 Promises 实现异步无限循环

我需要一个“无休止的”while循环,其中包含promises。下面是一些示例代码:letnoErrorsOccured=truewhile(noErrorsOccured){someAsyncFunction().then(()=>{doSomething();}).catch((error)=>{console.log("Error:"+error);noErrorsOccured=false;});}functionsomeAsyncFunction(){returnnewPromise((resolve,reject)=>{setTimeout(()=>{constexampl

javascript - React 组件属性中的匿名函数性能有多差?

你不应该在react属性中使用匿名函数,例如doIt('myId')>Aaron我理解为什么这会给React的协调带来性能问题,因为在每次渲染过程中都会重新创建匿名函数,因此总是会触发某种真正的DOM重新渲染。我的问题是,对于一个小组件(即不是每一行都有链接的表)来说,这是微不足道的吗?我的意思是,React足够聪明,只是替换处理程序,而不是重新渲染DOM,对吧?所以成本没有那么高? 最佳答案 我觉得有义务通知您,在渲染中使用Anonymousfunction和Function.bind(this)会触发新的渲染。这是因为两者doI

javascript - 如何在此 React 组件中修复“对象的 "Cannot assign to read only property ' 样式”?

我正在创建自己的自定义选项卡组件。它由一个选项卡标题组成,每个选项卡标题都有一个正文部分。单击选项卡标题时,应将相应主体的样式设置为display:block,将所有其他样式设置为display:none。由于某些原因,我收到此错误:Cannotassigntoreadonlyproperty'style'ofobject我知道我不能手动更改样式属性,因为它似乎是只读的,但我该如何解决/解决这个问题?这是我的代码:Tabs.jsimportReact,{Component}from'react';classTabsextendsComponent{constructor(){super

javascript - 如何使用回调函数的异步等待从异步函数返回值?

我是nodejs的新手,它是回调hell,我在Node8中阅读了有关async/await的介绍,并且有兴趣以这种方式实现它我有一组特定的方法,我需要以同步方式一个接一个地为trelloAPI调用例如创建看板使用版blockID创建标签使用版blockID创建卡片在卡片上贴上标签在卡片中创建列表将每个项目添加到卡片列表中你可以想象在nodejs中,这需要大量的回调嵌套到另一个中以访问前一个对象createProjectBoard:function(project){t.post("1/board",{name:project.name,desc:project.description,

javascript - 我应该在异步函数中抛出错误还是返回被拒绝的 promise ?

这个问题在这里已经有了答案:ShouldanasyncAPIeverthrowsynchronously?(5个答案)关闭5年前。我正在履行AWSJSSDK提供的promise.当我创建一个包装AWSSDK的异步函数时,我正在做的事情的要点如下所示:module.exports.myCustomFunction=input=>{if(badInput){thrownewError('failed')//{//carryon}).catch(err=>{//dosomethingwiththeerror})有人找到我,他说我永远不应该在这些基于promise的函数中抛出错误。他们建议改为