Reactjs 反应+;回流存储和组件应该如何使用ajax处理更改按键

Reactjs 反应+;回流存储和组件应该如何使用ajax处理更改按键,reactjs,reactjs-flux,flux,refluxjs,Reactjs,Reactjs Flux,Flux,Refluxjs,我想得到一些帮助,让我的头围绕着我正在进行的反应/回流模式,如果可以接受的话 我有一个表单组件,它呈现几个表单元素,如下面的示例。表单组件连接到回流存储器,其中数据位于表单元素的位置 exports.InputField = React.createClass({ getInitialState: function(){ return { value: this.props.initialValue } }, onChange: function(e){

我想得到一些帮助,让我的头围绕着我正在进行的反应/回流模式,如果可以接受的话

我有一个表单组件,它呈现几个表单元素,如下面的示例。表单组件连接到回流存储器,其中数据位于表单元素的位置

exports.InputField = React.createClass({
  getInitialState: function(){
    return {
      value: this.props.initialValue
    }
  },

  onChange: function(e){
    this.setState({value: e.target.value});

    // this is being throttled.
    Actions.SomeAction(this.props.name, e.target.value);
  },

  render: function(){
    var value = this.state.value;
    return (
      <input type="text" value={value} onChange={this.onChange}/>
    )
  }
})
exports.InputField=React.createClass({
getInitialState:函数(){
返回{
值:this.props.initialValue
}
},
onChange:函数(e){
this.setState({value:e.target.value});
//这是被限制的。
Actions.SomeAction(this.props.name,e.target.value);
},
render:function(){
var值=this.state.value;
返回(
)
}
})
在给定的示例中,用户在字段中键入,这反过来将触发一个ajax请求来保存数据,通常以200的状态代码进行响应

  • 当这完成时,我是否应该在我的存储中触发此.trigger? 这将导致在每次取消按键时调用表单上的
    setState
    。那么糟糕吗

  • 是否允许我从商店触发事件,例如
    Actions.FieldUpdated
    ,并在字段组件中侦听这些事件

  • 这里有几个反应/回流的例子,比如用提交按钮更新的东西,但是我在onChange中找不到任何这样的例子

  • 如果在服务器端更新数据时没有从存储触发,则表示在出现错误时不会通知视图。如果不了解您的用例,就很难知道它是否是一件好事。 您不必担心调用setState的次数太多,这就是React的要点。调用setState意味着只渲染已更改的内容,因此通常不会花费太多成本。在您的情况下,当您的输入内容发生变化时,在触发时调用setState可能会有点无用,就像您刚才调用它一样

  • 允许存储分派操作。如果你想让你的商店变得智能化,有时候是需要的。您可以考虑进行API调用的情况,但首先必须向另一个存储发送一个操作,以获取授权令牌。避免这样做很好,但有时你别无选择