如何在ES6类中声明公共函数?

时间:2016-02-23 23:16:01

标签: javascript reactjs components ecmascript-6

我正在尝试在React ES6类扩展的React.Component中添加一个公共函数。但是,我尝试过的任何内容都不会将该功能公开提供给其他组件。

欢迎任何提示。

以下是我尝试过的一些例子:

import React, { PropTypes } from 'react'
import ChildComponent from './ChildComponent'

export class ArticleModal extends React.Component<void, Props, void> {
  static propTypes = {
  };
  constructor (props) {
    super(props)
  }
  static privateMethod () {
    // This doesn't work
  }
  set privateMethod2 () {
    // This doesn't work either
  }
  privateMethod3 () {
    // ...and neither does this.
  }
  render () {
    return (
      <p>Some content</p>
    )
  }
}
const mapStateToProps = (state) => ({
})
export default connect((mapStateToProps), {
})(ArticleModal)

1 个答案:

答案 0 :(得分:0)

像这样修改你的构造函数

constructor (props) {
    super(props);
    this.privateMethod3 = this.privateMethod3.bind(this);
}

然后尝试调用privateMethod3