Javascript 将多个本地更改提交到远程源的操作

Javascript 将多个本地更改提交到远程源的操作,javascript,reactjs,refluxjs,Javascript,Reactjs,Refluxjs,什么是一种可持续的、一致的、合乎逻辑的方法来处理只在本地对远程源进行了大量更改的回流操作 如果用户交互总是(或从来没有,如大多数教程示例中那样)导致远程更改,那么单向数据流就非常有意义。一个典型的例子是: 用户在字段中输入一个值,该值将触发一个操作(例如,CommentActions.setTitle(title)) 该操作进行远程调用,成功后触发CommentActions.setTitle.completed(title)子操作 存储通过例如CommentStore#onSetTitleC

什么是一种可持续的、一致的、合乎逻辑的方法来处理只在本地对远程源进行了大量更改的回流操作

如果用户交互总是(或从来没有,如大多数教程示例中那样)导致远程更改,那么单向数据流就非常有意义。一个典型的例子是:

  • 用户在字段中输入一个值,该值将触发一个操作(例如,
    CommentActions.setTitle(title)
  • 该操作进行远程调用,成功后触发
    CommentActions.setTitle.completed(title)
    子操作
  • 存储通过例如
    CommentStore#onSetTitleCompleted(title)
    进行侦听,并更改其状态
  • 组件将重新呈现,以反映新状态(例如,
    state.title
另一种说法是,对本地存储的每一次修改都会被远程存储中的一次更改反映出来。然而,由于各种原因,这并不总是可取的。在许多情况下,只有在编辑完成后(例如,按下“保存”或“发布”按钮)才调用服务器是有意义的

我可以在很多情况下看到这种情况。例如,在不知道实现细节的情况下,在Facebook上创建事件时,所有数据(日期、标题、描述、来宾列表等)都可能存储在本地,直到用户点击“创建事件”按钮

引入类似于
CommentActions.postComment()
的操作似乎是合乎逻辑的,但这会造成一个困难:与第一种情况不同的是,该操作没有明显的方式来访问到目前为止提供和编辑的所有数据,第一种情况是,每个操作都会提供要更改的数据(例如标题)

到目前为止,我想到的最好的方法是让组件负责向操作提供正确的数据。本地值保存在存储区中,因此组件可以通过混合状态访问。到最后保存时间时,它会由例如
CommentActions.postComment(this.state.title、this.state.body、this.state.email等)触发


我想有许多解决方案涉及到避免流量流动(例如,进行商店呼叫操作),但我主要感兴趣的是不会破坏库的基本原则的解决方案:)

我对此投赞成票,因为它解释得很好。不过我没读过。来自一个新用户,这是一个非常好的帖子从回顾中,我不理解将需要通过操作发送到存储的所有数据的状态保存在组件中的问题?这样,您就可以简单地创建一个JSON格式的所有必需状态的对象,并将其作为一个参数传递。不过我没读过。来自一个新用户,这是一个非常好的帖子从回顾中,我不理解将需要通过操作发送到存储的所有数据的状态保存在组件中的问题?通过这种方式,您可以简单地创建一个具有您想要的JSON格式的所有必需状态的对象,并将其作为一个参数传递。