问题标签 [ecmascript-2016]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
72 浏览

javascript - 如何从 Traceur(运行时)启用实验性功能

我有以下设置:

这很好用,但是当我尝试实验性功能时它会中断。我试过async-await

这给出了以下错误:

它强调了async关键字。 演示

Traceur Wiki上,声明您应该手动启用实验功能(不确定这是否适用于运行时变体)。

所以问题是,可以为运行时启用实验性功能吗?

0 投票
0 回答
201 浏览

javascript - ES2016 类型化对象——它们可以用来静态约束对象的形状吗?

为 ES2016 提出的类型化对象可以用于约束参数的 API 吗?

例如:

ECMA 文档:

这是对较早问题的编辑。

0 投票
0 回答
145 浏览

javascript - Reactjs:为什么我的道具没有更新?

我需要更新我的道具才能呈现新数据。

我有一个赌场游戏经销商列表的视图。该列表没问题,当您尝试添加新经销商时出现问题,经销商未显示在视图中,您必须重新加载页面才能看到新的更改。

让我向您展示我的代码,从操作开始

行动

店铺

dealerDataSuccess()是我在加载视图以呈现经销商列表时调用的函数,并且createDealerSuccess()是在您尝试添加新经销商时调用的函数。

在这里您将看到每个函数返回的内容

如果你输入dealerDataSuccess() console.log(JSON.stringify(data));

但如果你把createDealerSucess() console.log(JSON.stringify(data));它返回是这样的:

组件代码

零件

现在在组件部分有componentWillMount(),如果你把console.log(JSON.stringify(this.props));它返回

{"params":{},"query":{},"dealerData":null}

如果你把_addDealer console.log(JSON.stringify(this.props));它放在应该添加新经销商的地方,你会得到全部props但没有你添加的最后一个经销商,所以你必须刷新页面才能在视图/屏幕中看到新经销商。

你觉得这里发生了什么?

PS:如果您对我提出类似的问题,请考虑到在另一个问题中我是 2 使用不同的商店,这里我只使用一个

编辑

Dealers 组件位于名为 的选项卡management中,即:

0 投票
1 回答
120 浏览

javascript - 使用 promise 观察游标和停止游标

我找不到这样做的好方法,但这是我的基本方法。它的目标是观察对象的状态,直到找到与正则表达式匹配的消息。

这样做的适当方法是什么?在一个 Promise 完成后,如何停止监听器或观察者?

0 投票
2 回答
2928 浏览

javascript - 在 React.js 中覆盖/扩展 ES7 类的静态属性

ES7 引入了static属性和方法定义的概念。与支持 ES7 的转译器一起,这些可以在 React中用于指定验证器和默认值props,如下所示:

这非常方便,但是当子类发挥作用时会变得很棘手。例如,假设将以下模块添加到与ComponentOne上述相同的代码库中:

我想ComponentTwo“继承”其超类的属性验证器和默认值,ComponentOne. 取而代之的是propTypesdefaultProps在.ComponentTwoComponentOneComponentOne

由于super是对当前类原型的引用,并且static应该引用直接挂在原型上的值,我认为这可能有效:

但是,这会产生一个错误,可能来自 Babel: Parsing error: 'super' outside of function or class

这有效,但不是很便携:

有没有其他方法可以更干净/可重用地做到这一点?

0 投票
1 回答
153 浏览

redux - 我是否正确使用 Redux?

这只是一个问题,我很想仔细检查我是否做对了。我来自不同框架的年龄,我想在早期避免不良做法。

我正在使用这个样板:https ://github.com/erikras/react-redux-universal-hot-example 我正在用 ES7 编写。

我创建了: - 1 个减速器:earlyUser.js - 1 个容器:landingPage.js - 1 个组件:registrationForm.js

在landingPage 中,我以这种方式包含reducer 的方法:

从 'redux/modules/earlyUser' 导入 { saveEmail, savePreferences, checkEmailExists };

我声明了一些句柄

在 JSX 部分,我只是将处理程序传递给我的组件:

现在在组件内部,我将表单提交链接到这个处理程序:

现在我的问题是,我应该在哪里附加承诺返回的 .then 和 .catch ?理想情况下,我想在 component.js 中做类似的事情

那是对的吗?

此外,是否有正确的语法来处理 ES7 中的承诺?

0 投票
1 回答
2045 浏览

javascript - 如何在 Koa.js 应用程序的验收测试中使用 ES2016 (ES7) async/await?

我正在编写我的第一个 Koa.js 应用程序,并且最近被介绍了async/的 ES2016(又名 ES7)特性await,我想利用这些特性。

我发现我的 Google 技能无法胜任这项任务,而且我能找到的几段代码要么用于标准 Koa(使用生成器),要么与 ES7 不一样。

请参阅下面的答案,了解我是如何运行测试的。

0 投票
1 回答
269 浏览

angular - 带有 ES2016 装饰器的 Angular2 DI?

这是我在 github 上得到的最接近的

我的服务是

@Injectable() export class TodoService {}

但我不确定如何使用 ES2016 装饰器将它注入到我的组件中。是否有可能,或者装饰器是特定于 Typescript 的?我知道在 TS 中有一个emitDecoratorMetadata选项。

0 投票
1 回答
6696 浏览

node.js - 使用 es7 async/await 检查 mongodb 中是否存在文档

我正在尝试检查email集合中是否存在提供的用户users,但我的函数每次调用都会返回 undefined 。我使用 es6 并且async/await为了摆脱很多回调。这是我的函数(它在一个类中):

所以,调用中的第一个console.log总是.connect返回false,因为返回的值.find不是一个数组,它是一个看起来像这样的巨大对象:

最后一个console.log总是未定义的(虽然我认为不应该那样,因为await等待异步调用结束,对吧?)


我只需要我的函数返回一个布尔值,而不是一个Promise或什么。

有人可以帮我吗?

更新 1

console.log(collection.findOne({email: email}));里面.connect返回这个:


更新 2

似乎这是我对 es7 了解不足的问题async/await

现在里面的代码.connect返回所需的值。

但是,现在根本不执行呼叫console.log之后的或任何事情。.connect

现在,每次我在userExistsInDB()某处调用该函数console.log及其结果时,都会得到以下信息:

任何想法为什么会这样?

0 投票
1 回答
1056 浏览

webpack - 如何在 webpack 配置中启用阶段 0 以在可流动组件中启用 decoratorPattern

我尝试按照在fluxible connectToStores 示例中使用装饰器模式的说明进行操作

http://fluxible.io/addons/connectToStores.html

但是,我在 @ 符号上遇到语法错误。我是否必须先配置或加载某些内容才能在我的 Fluxible 应用程序中识别装饰器模式?

我已经尝试使用以下 webpack.config.js 来启用对可变模板的阶段 0 支持,但我收到一条错误消息,说当有多个加载器时我无法声明查询

webpack.config.js