【发布时间】:2018-10-19 20:00:11
【问题描述】:
在我的反应App.js 的return 中,我目前正在以一种有效但混乱的方式调用this.searchVenues(),我知道有更好的方法。 searchVenues() 函数位于 App.js 中,我的按钮需要位于它们自己的组件中,然后只需 <ButtonComponent/> 而不是:
render() {
return (
<div className="App container-fluid">
<Navbar/>
<div className="row">
<div className="col-xs-3">
<button onClick ={() => this.searchVenues("yoga+coffee", "5")}>5</button>
<button onClick ={() => this.searchVenues("yoga+coffee", "10")}>10</button>
<button onClick ={() => this.searchVenues("yoga+coffee", "15")}>15</button>
<SideBar {...this.state} handleListItemClick={this.handleListItemClick}/>
</div>
<div className="col-md-9 full-height">
<Map {...this.state}
handleMarkerClick={this.handleMarkerClick}/>
</div>
</div>
<Footer/>
</div>
);
}
但是当我这样做时,this.searchVenues("yoga+coffee", "5") 不起作用,这是可以理解的。让它发挥作用的最好或更好的方法是什么?如何从另一个文件(组件)访问该函数?
【问题讨论】:
-
将函数拉出到服务中,并在需要的地方导入服务
标签: javascript reactjs function react-component