Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 不确定React的语义_Node.js_Reactjs_Webpack - Fatal编程技术网

Node.js 不确定React的语义

Node.js 不确定React的语义,node.js,reactjs,webpack,Node.js,Reactjs,Webpack,我是一个新的反应者,我试着去理解语义 我正在构建一个基于地图的应用程序,该站点的主要部分是地图、导航栏和一个搜索菜单,它在地图上弹出,允许您选择一个从ajax请求填充的搜索 我想到了一些问题: export default class App extends React.Component { toggleSearchMenu() { this.refs.searchMenu.toggleVisible(); } render() { return ( &

我是一个新的反应者,我试着去理解语义

我正在构建一个基于地图的应用程序,该站点的主要部分是地图、导航栏和一个搜索菜单,它在地图上弹出,允许您选择一个从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>
    );
  }
}
我应该在哪里完成ajax请求,这些请求是否都应该包含在映射组件中?如果是,我如何传递请求的参数,如果答案是将其传递给map中的函数,那么我如何从搜索菜单组件内部调用该函数

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

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>
    );
  }
}
导出默认类App扩展React.Component{
切换搜索菜单(){
this.refs.searchMenu.toggleVisible();
}
render(){
返回(
this.toggleSearchMenu()}>搜索
);
}
}

如您所见,我导致在我的应用程序组件中显示和隐藏菜单,而该功能在某种程度上感觉不正确?

如您所知,React只负责呈现视图,但它不定义如何构造应用程序的实际逻辑。Facebook建议为此使用Flux架构。本网站和视频将让您走上正确的轨道:


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

正如您所知,React只负责呈现视图,但它不定义如何构造应用程序的实际逻辑。Facebook建议为此使用Flux架构。本网站和视频将让您走上正确的轨道:


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

感谢Johannes,这听起来对映射方面很有用。导航按钮点击时菜单的显示如何?我不想硬编码这个,我希望任何按钮能够显示任何菜单(可重复使用)。或者这是flux将要涵盖的内容?我刚才问了一个类似的问题,得到了Bill Fisher(React/flux的创建者之一)的回答:所以你想问自己:我从AJAX调用中获得的动作或数据是否会改变我的应用程序的状态?或者一个动作只是隐藏/显示一些易变的东西,比如工具提示或上下文菜单?然后它可以被认为是组件的一部分,而不是改变应用程序状态的东西。谢谢Johannes,这听起来对映射方面很有用。导航按钮点击时菜单的显示如何?我不想硬编码这个,我希望任何按钮能够显示任何菜单(可重复使用)。或者这是flux将要涵盖的内容?我刚才问了一个类似的问题,得到了Bill Fisher(React/flux的创建者之一)的回答:所以你想问自己:我从AJAX调用中获得的动作或数据是否会改变我的应用程序的状态?或者一个动作只是隐藏/显示一些易变的东西,比如工具提示或上下文菜单?然后,它可以被视为组件的一部分,而不是改变应用程序状态的东西。