不确定React的语义

时间:2016-03-04 16:22:02

标签: node.js reactjs webpack

我很反应并试图绕过语义。

我正在构建一个基于地图的应用程序,该网站的主要部分是地图,导航栏和搜索菜单,它弹出地图并允许您选择从ajax请求填充的搜索。

以下是一些可以想到的问题:

如果所有请求都包含在地图组件中,我应该在哪里完成我的ajax请求?如果是这样,我如何传递请求的参数,如果答案是将其传递给地图中的函数,那么如何从搜索菜单组件中调用该函数?

我的应用目前的组织方式如下:

export default class App extends React.Component {
  toggleSearchMenu() {
    this.refs.searchMenu.toggleVisible();
  }
  render() {
    return (
      <div className="pure-g">
        <Nav>
          <NavButton onClick={() => this.toggleSearchMenu()}>Searches</NavButton>
        </Nav>
        <Map lat="53.15" lng="-0.5" zoom="9" />
        <SearchMenu ref="searchMenu" />
      </div>
    );
  }
}

正如您所看到的,我已经导致显示和隐藏我的应用程序组件中的一个函数的菜单,这种感觉在某种程度上不正确?

1 个答案:

答案 0 :(得分:3)

如您所知,React仅负责呈现视图,但它没有定义如何构建应用程序的实际逻辑。 Facebook建议使用Flux架构。此网站和视频可让您走上正确的轨道:https://facebook.github.io/react/blog/2014/05/06/flux.html

基本上,您希望所有操作都进入相同的“管道”,无论它们来自何处。逻辑和某些状态保存在“存储”中(在模型和控制器之间的混合),最后组件侦听这些存储中的更改,然后重新呈现自己。