问题标签 [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.
javascript - 如何从 Traceur(运行时)启用实验性功能
我有以下设置:
这很好用,但是当我尝试实验性功能时它会中断。我试过async
-await
这给出了以下错误:
它强调了async
关键字。
演示
在Traceur Wiki上,声明您应该手动启用实验功能(不确定这是否适用于运行时变体)。
所以问题是,可以为运行时启用实验性功能吗?
javascript - ES2016 类型化对象——它们可以用来静态约束对象的形状吗?
为 ES2016 提出的类型化对象可以用于约束参数的 API 吗?
例如:
ECMA 文档:
- http://wiki.ecmascript.org/doku.php?id=harmony:typed_objects
- https://github.com/dslomov/typed-objects-es7
这是对较早问题的编辑。
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
中,即:
javascript - 使用 promise 观察游标和停止游标
我找不到这样做的好方法,但这是我的基本方法。它的目标是观察对象的状态,直到找到与正则表达式匹配的消息。
这样做的适当方法是什么?在一个 Promise 完成后,如何停止监听器或观察者?
javascript - 在 React.js 中覆盖/扩展 ES7 类的静态属性
ES7 引入了static
属性和方法定义的概念。与支持 ES7 的转译器一起,这些可以在 React中用于指定验证器和默认值props
,如下所示:
这非常方便,但是当子类发挥作用时会变得很棘手。例如,假设将以下模块添加到与ComponentOne
上述相同的代码库中:
我想ComponentTwo
“继承”其超类的属性验证器和默认值,ComponentOne
. 取而代之的是propTypes
,defaultProps
在.ComponentTwo
ComponentOne
ComponentOne
由于super
是对当前类原型的引用,并且static
应该引用直接挂在原型上的值,我认为这可能有效:
但是,这会产生一个错误,可能来自 Babel: Parsing error: 'super' outside of function or class
。
这有效,但不是很便携:
有没有其他方法可以更干净/可重用地做到这一点?
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 中的承诺?
javascript - 如何在 Koa.js 应用程序的验收测试中使用 ES2016 (ES7) async/await?
我正在编写我的第一个 Koa.js 应用程序,并且最近被介绍了async
/的 ES2016(又名 ES7)特性await
,我想利用这些特性。
我发现我的 Google 技能无法胜任这项任务,而且我能找到的几段代码要么用于标准 Koa(使用生成器),要么与 ES7 不一样。
请参阅下面的答案,了解我是如何运行测试的。
angular - 带有 ES2016 装饰器的 Angular2 DI?
我的服务是
@Injectable()
export class TodoService {}
但我不确定如何使用 ES2016 装饰器将它注入到我的组件中。是否有可能,或者装饰器是特定于 Typescript 的?我知道在 TS 中有一个emitDecoratorMetadata
选项。
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
及其结果时,都会得到以下信息:
任何想法为什么会这样?
webpack - 如何在 webpack 配置中启用阶段 0 以在可流动组件中启用 decoratorPattern
我尝试按照在fluxible connectToStores 示例中使用装饰器模式的说明进行操作
http://fluxible.io/addons/connectToStores.html
但是,我在 @ 符号上遇到语法错误。我是否必须先配置或加载某些内容才能在我的 Fluxible 应用程序中识别装饰器模式?
我已经尝试使用以下 webpack.config.js 来启用对可变模板的阶段 0 支持,但我收到一条错误消息,说当有多个加载器时我无法声明查询
webpack.config.js