使用onClick和React AutoBind

时间:2015-02-25 23:52:37

标签: javascript ajax reactjs

我是React的新手,所以如果我错过了,请随时将我重定向到文档。

我正在尝试根据React教程使用onClick方法触发Ajax调用。相关代码如下。

doSomething: function() {
    // make the ajax call
},
render: function() {
    ...
    <button onClick={this.doSomething}>
        Button Title
    </button>
    <Table data={table_data}
        columns={this.props.columns}
    />

当调用render()方法时,React的自动绑定方法启动,调用return method.apply(component, arguments);,因此调用了ajax。

render方法包括一个表,并且还为每个单元格呈现按钮(即使每个表只有一次按钮实例),因此也为每个单元格进行网络调用。

有没有更好的方法来做这样的事情我避免重复的ajax调用?

1 个答案:

答案 0 :(得分:1)

旧问题,但没有答案。 在这里。

您可以在ES6中使用arrow功能。然后,您无需绑定此功能。

doSomething = () => {
    // make the ajax call
};
render() {
    ...
    <button onClick={this.doSomething}>
        Button Title
    </button>
    <Table data={table_data}
        columns={this.props.columns}
    />

太简单了,不是吗?