标签: flux

缓存逻辑应该在flux应用程序中的哪个位置?

在上一个问题中,我询问谁负责在Flux应用程序中向服务器发送更新.人们告诉我,行动应该这样做.所以我假设从服务器获取数据也是如此; 您有一个FetchData操作,它获取数据并调度要保留的商店的数据.但在这种情况下,缓存逻辑将如何工作?

我想我必须存储最后一次请求列表,并且StreamsStore中的列表的TTL和fetchStreams操作将检索TTL和上次获取时间以确定是否需要查询服务器.

这是正确的方法吗?在商店和动作之间传播缓存逻辑对我来说似乎很奇怪,但我想不出更好的方法.

caching flux

7
推荐指数
1
解决办法
889
查看次数

正确初始化数据的方法

使用RefluxJS初始化数据(异步)的正确方法是什么?是否有类似于AngularJS的解决方案,或者Flux实现与此无关(路由器应该处理这种可靠性)?

javascript flux reactjs refluxjs

7
推荐指数
1
解决办法
4249
查看次数

API令牌在Flux(Redux)商店内是否安全?

将通过身份验证调用返回的API令牌存储在Flux(特别是Redux)存储中是否安全?我已经使用Webpack来编译项目中的所有资产,我相信这意味着商店的范围远离第三方脚本,这些脚本希望读取商店并提取令牌.

并且,为了它的价值,令牌通过HTTPS在Authorization: bearer ...标头中发送.

flux node.js reactjs redux

7
推荐指数
1
解决办法
2992
查看次数

React-native导航实验示例?

几个星期前我开始使用react-native.对于我的第一个应用程序,我使用导航器进行导航,其导航栏组件显示标题和左/右侧按钮.在阅读之后,facebook已经放弃了对导航器的支持并开发了航空实验或导航-rfc(将调用' NavExp '使其缩短),我正在尝试使用NavExp.但我无法理解它.

应用程序菜单:Android的DrawerLayout,IOS的TabIOS.并且将具有导航栏以根据内容显示标题和右侧(内容特定菜单 - 打印,复制)/左(用于菜单)按钮.

  1. navigator和NavExp有什么区别?(它说它提供redux或flux风格导航,也无法理解)
  2. reducer的目的是什么?(使用哪一个?(Stack,Find))
  3. NavigationRootContainer?
  4. 在哪里声明我的所有状态,因为这些是常量?
  5. 行动与国家有什么区别?
  6. 对于导航器,我们使用renderScene函数在NavExp中实际渲染场景

navigation flux reactjs-flux react-native react-redux

6
推荐指数
1
解决办法
4667
查看次数

以多步形式反应路由器导航

我有一个带有像这样的通量存储的多步骤反应形式:

// MultiForm.js
....
import LoadFile from './components/LoadFile';
import LoadPeople from './components/LoadPeople';
import Confirmation from './components/Confirmation';

class MultiForm extends Component {
.
.
.

    nextPage() {
      // Update page number with a flux action
      MultiStepActions.nextPage();
    }

    previousPage() {
      // Update page number with a flux action
      MultiStepActions.previousPage();
    }

    render() {
       const {pagina} = this.state;
       <div className="container">
         {page === 1 && <LoadFile
           handleChange={this.handleChange}
           file={this.state.file}
           nextPage={this.nextPage}
           data1={this.state.data1}
           data2={this.state.data2}
           data3={this.state.data3}/>
         }
         {page === 2 && <LoadPeople
           listPeople={this.state.listPeople}
           nextPage={this.nextPage}
           previousPage={this.previousPage}
           handleChangePeople={this.handleChangePeople}/>
         }
         {page === …
Run Code Online (Sandbox Code Playgroud)

flux reactjs reactjs-flux react-router

6
推荐指数
1
解决办法
8314
查看次数

ComponentwillMount 被调用两次

componentWillMount()每次切换路线时,我都是我的人。

还有其他方法可以处理商店状态的变化吗?

当我第一次使用这两个功能时还可以,但是,当我切换路线并返回并再次尝试使用它们时,我收到此消息

warning.js:45 Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the undefined component.

库存清单.js

import React from "react";
import InventoryItem from "../components/InventoryItem";
import InventoryItemStore from "../stores/InventoryItemStore";
import { Link } from "react-router";

export default class InventoryList extends React.Component {
    constructor() {
        super();
        this.state = {
            items: InventoryItemStore.getAll(),
        }
    }

    componentWillMount() {
        InventoryItemStore.on("change", () => {
            this.setState({ …
Run Code Online (Sandbox Code Playgroud)

javascript flux reactjs

6
推荐指数
1
解决办法
6584
查看次数

那么...Redux 操作调度是同步还是异步?(没有 thunk 或 saga)

当我派遣行动时,我对行为有点困惑redux

例子:

onPressAdd() {
    this.props.addFloor({
        name: this.state.floor_name,
    });
    console.log(this.props.floors);
}
Run Code Online (Sandbox Code Playgroud)

我正在调用 redux 操作addFloor,将地板添加到存储中的数组中,然后我 console.log 这个变量,并且我期望更新状态([{name:'whatever'}]),但我得到[](空数组)

示例2:

async onPressAdd() {
    await this.props.addFloor({
        name: this.state.floor_name,
    });
    console.log(this.props.floors);
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我得到了完美的更新商店:[{name:'whatever'}]

我到处都读到“如果没有 thunk 或 saga,Redux 操作调度是同步的(直接方式:调度操作->reduce->store”,但 rhis 证明调度是异步的。

那么真理在哪里呢?

flux reactjs redux

6
推荐指数
1
解决办法
4217
查看次数

已弃用的 WorkQueueProcessor 的替代方案

在最近的反应器版本中,WorkQueueProcessor已被弃用,并在 3.5 版本中被删除。对于新的 Sinks 规范,我想知道 WorkQueueProcessor 是否有替代方案?我希望以循环方式将信号仅分发给其中一个订阅者。

reactor reactive-programming flux project-reactor

6
推荐指数
0
解决办法
302
查看次数

在 Influx Flux 中附加计算字段(百分比)并与不同数据集的结果相结合

我正在努力处理 Flux 中的 Influx 2 查询,了解如何将两个不同集(表)中的数据连接和映射到特定的所需输出。

我当前的 Flux 查询是这样的:

data = from(bucket: "foo")
    |> range(start:-1d)
    |> filter(fn: (r) => r._measurement == "io")
    |> filter(fn: (r) => r["device_id"] == "12345")
    |> filter(fn: (r) => r._field == "status_id" )

    # count the total points
    totals = data
    |> count(column: "_value")
    |> toFloat()
    |> set(key: "_field", value: "total_count")

    # calculate the amount of onlines points (e.g. status = '1')
    onlines = data
    |> filter(fn: (r) => r._value == 1)
    |> count(column: …
Run Code Online (Sandbox Code Playgroud)

flux influxdb influxdb-2

6
推荐指数
0
解决办法
1428
查看次数

Java Flux 中的延迟增加

我有一个代码,我可以在循环中执行一段逻辑,并使用 Flux 之间有一些延迟。像这样的事情,

Flux.defer(() -> service.doSomething())
            .repeatWhen(v -> Flux.interval(Duration.ofSeconds(10)))
            .map(data -> mapper(data)) //map data
            .takeUntil(v -> shouldContinue(v)) //checks if the loop can be terminated
            .onErrorStop();
Run Code Online (Sandbox Code Playgroud)

现在,我想要增量延迟。这意味着,在前 5 分钟内,每次执行之间的延迟可能为 10 秒。然后,在接下来的 10 分钟内,延迟可以是 30 秒。并且,此后每次执行之间的延迟可以是一分钟。

我如何使用 Flux 来实现这一目标?

提前致谢。

java delay reactive-programming flux spring-webflux

6
推荐指数
1
解决办法
439
查看次数