【问题标题】:Modify React.js class -- override methods?修改 React.js 类——覆盖方法?
【发布时间】:2015-01-19 18:39:57
【问题描述】:

我用 React.js 创建了一个组件 var A = React.createClass({ abc: function () {} }) 我如何访问abc 方法? A.prototype.abc 未定义

【问题讨论】:

  • 查看 React 文档以了解如何communicate between components。特别是“对于没有父子关系的两个组件之间的通信,你可以设置自己的全局事件系统。”

标签: reactjs


【解决方案1】:

React 组件上的所有方法都应该被认为是私有的。有非常罕见的例外。组件的公共 api 是它所需要的 props。

【讨论】:

  • 例如它是格式化字符串的辅助方法。放在道具里可以吗?
  • 当然,你可以传递任何你喜欢的东西作为道具。
【解决方案2】:

我决定将方法存储在纯 js 对象中并添加方法toReact。示例:

var Game = {
 render: function () {
    return (
      <PlayersTable data={ this.props.data } />
    )
  },

  toReact: function () {
    return React.createClass(this)
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-09
    • 1970-01-01
    • 2014-12-26
    • 2015-03-06
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多