标签: flux

如何使用redux中的setTimeout和dispatcher触发定期操作

我如何/在哪里定期发送行动?使用递归setTimeout进行倒计时.

从示例中得出类似于此的内容:

// Can also be async if you return a function
export function incrementAsync() {
  return dispatch => {
    (function _r() {
      setTimeout(() => {
        // Yay! Can invoke sync or async actions with `dispatch`
        dispatch(increment());
        _r();
      }, 1000);
    })();
  };
}
Run Code Online (Sandbox Code Playgroud)

那么这是一个好主意,还是有更好的方法解决这个问题,比如使用中间件或从其他地方创建动作?

我更喜欢这个的通用版本,我可以通过商店控制计时器的启动/停止.

我已经设置了一个示例实现,请查看https://gist.github.com/eguneys/7023a114558b92fdd25e

javascript flux reactjs redux

17
推荐指数
1
解决办法
6285
查看次数

Redux状态持久化与数据库

这里的讨论来看,似乎应该将Redux Reducer的状态保存在数据库中.

在这种情况下,用户身份验证之类的功能如何?

对于创建和编辑的每个用户(及其应用程序状态),是否不会创建新的状态对象来替换数据库中的先前状态?

是否会在前端使用所有这些数据并不断更新数据库中的状态?

编辑:我已经创建了一个示例Redux auth项目,它也恰好是通用Redux的示例,并使用Redux,Socket.io和RethinkDB进行实时更新.

flux reactjs reactjs-flux redux

17
推荐指数
2
解决办法
2万
查看次数

React.js是否要求app成为单个页面

我正在使用React.js,我的问题很简单:如果我使用React,我的应用程序必须是单页应用程序吗?

如果不是,那么如何控制它们之外的组件?通过FLUX?还有其他标准方法吗?

如果是,那么是否有任何库在React的客户端执行权限/访问验证?

非常感谢!

flux single-page-application reactjs

16
推荐指数
1
解决办法
9699
查看次数

React flux架构有什么好的Http库吗?

我们有一个与Flux架构的反应应用程序,我正在搜索任何好的库发送http请求,如angular的$ http,$ resources.

flux reactjs reactjs-flux react-router

15
推荐指数
2
解决办法
1万
查看次数

如何取消/忽略redux中的操作

有没有办法取消行动或忽略它?

或者更确切地说,忽略行动的最佳/推荐方法是什么?

我有以下动作创建者,当我向动作创建者输入无效大小(比如说'some_string')时,除了获取我自己的警告信息外,我还得到: Uncaught Error: Actions must be plain objects. Use custom middleware for async actions.

import { SET_SELECTED_PHOTOS_SIZE } from './_reducers';

export default (size=0) => {
  if (!isNaN(parseFloat(size))) {
    return {
      type: SET_SELECTED_PHOTOS_SIZE,
      size: size,
    };
  } else {
    app.warn('Size is not defined or not a number');
  }
};
Run Code Online (Sandbox Code Playgroud)

redux在Discord(reactiflux)中的-channel中讨论了这个问题,其中一个建议是使用如下的redux-thunk:

export default size => dispatch => {
  if (!isNaN(parseFloat(size))) {
    dispatch({
      type: SET_SELECTED_PHOTOS_SIZE,
      size: size,
    });
  } else {
    app.warn('Size is not defined or not …
Run Code Online (Sandbox Code Playgroud)

javascript flux redux

15
推荐指数
1
解决办法
9384
查看次数

Javascript Redux - 如何通过id从商店获取元素

在过去的几周里,我一直在努力学习React和Redux.现在我遇到了一个问题,我没有找到正确的答案.

假设我在React中有一个页面从链接获取道具.

const id = this.props.params.id;
Run Code Online (Sandbox Code Playgroud)

现在在这个页面上,我想使用此ID从STORE显示一个对象.

 const initialState = [
      {
        title: 'Goal',
        author: 'admin',
        id: 0
      },
      {
        title: 'Goal vol2',
        author: 'admin',
        id: 1
      }
    ]
Run Code Online (Sandbox Code Playgroud)

我的问题是:从STORE查询对象的函数应该在页面文件中,在render方法之前,还是应该使用action creators并在reducers中包含该函数.我注意到reduceres似乎只包含在商店中有一个impoact的动作,但我只是查询商店.

先感谢您.

javascript flux reactjs redux

14
推荐指数
1
解决办法
8652
查看次数

为什么redux商店应该可序列化?

在阅读redux文档时,我发现该文档提到了这一点:

不过,你应该尽力保持状态可序列化.不要在里面放任何你不能轻易变成JSON的东西.

所以我的问题是,保持状态可序列化有什么好处?或者,如果我将不可序列化的数据存储到存储中,我会遇到什么困难?

而且我相信这并不是redux-Flux所独有的,甚至React本地州也提出同样的建议.


让我明白这里是一个例子.假设商店结构是这样的.

{
    books: { 
        1: { id: 1, name: "Book 1", author_id: 4 }
    },
    authors: {
        4: { id: 4, name: "Author 4" }
    }
}
Run Code Online (Sandbox Code Playgroud)

这一切看起来都不错.但是,当我尝试访问"Book 1的作者"时,我必须编写如下代码:

let book = store.getState().books[book_id];
let author = store.getState().authors[book.author_id];
Run Code Online (Sandbox Code Playgroud)

现在,我要定义一个类:

class Book {
    getAuthor() {
        return store.getState().authors[this.author_id];
    }
}
Run Code Online (Sandbox Code Playgroud)

我的商店将是:

{
    books: {
        1: Book(id=1, name="Book 1")
    },
    ...
}
Run Code Online (Sandbox Code Playgroud)

这样我就可以通过以下方式轻松获得作者:

let author = store.getState().books[book_id].getAuthor();
Run Code Online (Sandbox Code Playgroud)

第二种方法可以使"书"对象知道如何检索作者数据,因此调用者不需要知道书籍和作者之间的关系.那么,为什么我们不使用它,而不是像方法#1那样在商店中保留"普通对象"?

任何想法都表示赞赏.

javascript flux reactjs redux

14
推荐指数
1
解决办法
4734
查看次数

这个磁通动作和这个函数调用之间有什么区别?

我可以有这样的助焊剂动作:

{type: 'KILL', payload: {target: 'ogre'}}
Run Code Online (Sandbox Code Playgroud)

但我没有看到在这样的类(包装商店)上有一个方法之间有什么区别,

People.kill('ogre') 
Run Code Online (Sandbox Code Playgroud)

如果人们是行动的唯一接收者?

我看到助焊剂调度员给了我两个好处(可能)

  1. "kill"方法可以广播到多个未知接收器(好!)
  2. 调度员给我一个方便的地方记录所有行动交通(也很好!)

这些可能是好事,但还有其他原因让我失踪吗?

我没有看到的是如何以JSON对象的形式放置动作,突然强制或帮助"单向"通信流程,这是我在任何地方阅读的是具有动作和流量的巨大优势.

在我看来,无论我如何给猪打气,我仍然有效地将信息发回商店.当然行动现在经历了几层间接(动作创建者,调度员)到达商店之前,但除非我遗漏了一些事情,为所有实际目的发送该动作的组件正在更新任何正在监听的商店.杀死消息.

我在这里缺少什么?

我再次在Stack Overflow上知道我们不能问一般问题,所以我想保持这个非常具体.具有不同语法的两个代码片段在语义上(除了广播到多个商店的可能性之外)看起来完全相同.

再次,如果唯一的原因是它启用广播并为调试目的启用单点流量,我很好,但是想知道是否还有其他关于flux /调度程序的事情我错过了?

flux reactjs

14
推荐指数
1
解决办法
289
查看次数

我为什么要把州保持平稳

我正在使用ReactJs和Redux以及一些教程和代码,我看到人们建议并使用normalizr来保持状态平坦.但保持平稳的真正优势是什么?如果不这样,我会遇到任何问题吗?有必要吗 ?

flux reactjs redux normalizr

13
推荐指数
2
解决办法
2246
查看次数

ResponseEntity<Mono> 和 Mono<ResponseEntity> 作为休息控制器的返回类型有什么区别

在 Spring Webflux 中, ResponseEntity<Mono> 与 Mono<ResponseEntity> 作为休息控制器的返回类型有什么区别?

什么时候最合适?

跟进这个问题,假设我需要返回一个列表,或者假设 Foo 的几个元素,有很多返回 Flux 的例子。返回 ResponseEntity<Flux> 或 Flux<ResponseEntity> 是否有意义?

当我在寻找这个问题时,我发现这里发布了同样的问题:https : //github.com/spring-projects/spring-framework/issues/22614,但没有答案,我搜索了 spring 文档,但没有找到任何信息.

谢谢您的帮助。

mono spring response flux spring-webflux

13
推荐指数
2
解决办法
1473
查看次数