ReactJS Reflux 在 ES6 中使用 mixin

Posted

技术标签:

【中文标题】ReactJS Reflux 在 ES6 中使用 mixin【英文标题】:ReactJS Reflux using mixins with ES6 【发布时间】:2016-06-27 06:28:54 【问题描述】:

如何使用 ES6 解决 mixins 的回流问题?

像这样:

mixins: [Reflux.listenTo(myStore, "onChange")]
                        ^

导致错误“Unexpected token”,上面显示箭头。

反应 v 0.14.7 回流 v 0.4.0

【问题讨论】:

【参考方案1】:

理论上 mixins 适用于 react 0.14 。

如果您使用 ES6 语法(尤其是类),它们将不起作用。在 ES6 中,我们使用高阶组件。

你不能简单地用一些 ES6 语法替换回流混合。您必须找到非 mixins 解决方案进行回流。有一个有趣的话题:

https://github.com/reflux/refluxjs/issues/225

还有一些链接可以帮助你:

https://www.npmjs.com/package/reflux-provides-store https://www.npmjs.com/package/reflux-state-mixin

或者您可以尝试通过该组件从 mixins 创建高阶组件:

https://github.com/timbur/react-mixin-decorator

【讨论】:

【参考方案2】:

Reflux 现在有一个 React ES6 API。

请看这里:https://github.com/reflux/refluxjs#react-es6-usage

任何 v5+ 都具有 ES6 功能。

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 我不会在答案中将新 API 的全部文档发布到 Reflux。那将是荒谬的,并且无论如何可能很快就会过时。没有任何 mixin 相当于简单地切换一行……它是一个完全不同的 API,它利用 ES6 继承。该 API 的全部内容与此处相关,应该从该页面学习,而不是从该页面学习。

以上是关于ReactJS Reflux 在 ES6 中使用 mixin的主要内容,如果未能解决你的问题,请参考以下文章

React/Reflux:使用装饰器将带有 mixin 的类转换为 ES6

Reflux中文教程——概览

ReactJS 开发过程中的一些使用心得

分发用 ES6 编写的 ReactJS 组件并在 ES5 源代码中使用它们

在“回流”中,行动的目的是啥?

ReactJs 上的无限循环渲染组件