我是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调用?
答案 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}
/>
太简单了,不是吗?