在 `React` ES6 中使用 `Mixin` 的正确方法是什么

What is the correct way to use `Mixin` in `React` ES6

在 ES5 中:

var TodoApp = React.createClass({
  mixins: [ReactFireMixin], //working fine
  ...
});

在 ES6 中:(使用 react cli 创建)

class TodoApp extends Component {
    constructor(props) {
        super(props)
    }
    mixins= [ReactFireMixin] //not working
    ...
}

正确的做法是什么?

Mixins 已弃用且不受 ES6 类 支持。参见 https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html。几年前,我在一个项目中广泛使用了 mixin,最终它被 super-hard 维护。请改用组合。

react-mixin 解决了我的问题

代码:

class TodoApp extends Component {
    constructor(props) {
        super(props)
    }        
    ...
}
reactMixin(TodoApp .prototype, ReactFireMixin);