在上一个问题中,我询问谁负责在Flux应用程序中向服务器发送更新.人们告诉我,行动应该这样做.所以我假设从服务器获取数据也是如此; 您有一个FetchData操作,它获取数据并调度要保留的商店的数据.但在这种情况下,缓存逻辑将如何工作?
我想我必须存储最后一次请求列表,并且StreamsStore中的列表的TTL和fetchStreams操作将检索TTL和上次获取时间以确定是否需要查询服务器.
这是正确的方法吗?在商店和动作之间传播缓存逻辑对我来说似乎很奇怪,但我想不出更好的方法.
使用RefluxJS初始化数据(异步)的正确方法是什么?是否有类似于AngularJS的解决方案,或者Flux实现与此无关(路由器应该处理这种可靠性)?
将通过身份验证调用返回的API令牌存储在Flux(特别是Redux)存储中是否安全?我已经使用Webpack来编译项目中的所有资产,我相信这意味着商店的范围远离第三方脚本,这些脚本希望读取商店并提取令牌.
并且,为了它的价值,令牌通过HTTPS在Authorization: bearer ...标头中发送.
几个星期前我开始使用react-native.对于我的第一个应用程序,我使用导航器进行导航,其导航栏组件显示标题和左/右侧按钮.在阅读之后,facebook已经放弃了对导航器的支持并开发了航空实验或导航-rfc(将调用' NavExp '使其缩短),我正在尝试使用NavExp.但我无法理解它.
应用程序菜单:Android的DrawerLayout,IOS的TabIOS.并且将具有导航栏以根据内容显示标题和右侧(内容特定菜单 - 打印,复制)/左(用于菜单)按钮.
我有一个带有像这样的通量存储的多步骤反应形式:
// 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) 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) 当我派遣行动时,我对行为有点困惑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 证明调度是异步的。
那么真理在哪里呢?
在最近的反应器版本中,WorkQueueProcessor已被弃用,并在 3.5 版本中被删除。对于新的 Sinks 规范,我想知道 WorkQueueProcessor 是否有替代方案?我希望以循环方式将信号仅分发给其中一个订阅者。
我正在努力处理 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 之间有一些延迟。像这样的事情,
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 来实现这一目标?
提前致谢。
flux ×10
reactjs ×5
javascript ×2
reactjs-flux ×2
redux ×2
caching ×1
delay ×1
influxdb ×1
influxdb-2 ×1
java ×1
navigation ×1
node.js ×1
react-native ×1
react-redux ×1
react-router ×1
reactor ×1
refluxjs ×1