问题标签 [alt.js]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在单个操作上禁用和重新启用按钮
我需要在异步调用期间禁用和重新启用按钮。我只能禁用它。如果我添加代码以重新启用它会被忽略。我承认我可能没有问正确的问题。
我有一个带有“操作”按钮的功能:
这由 React 类“Actions”调用:
这由另一个 React 类“List”调用:
该类中还有以下功能:
源代码如下所示:
我可以将其放置this.setState(isButtonDisabled: true)
在此代码中的各个位置,并且该值使其显示在视图中并禁用该按钮。但是,我无法弄清楚如何在工作完成后重新启用该按钮。
flux - 何时使用调度与 alt.js 通量
我是使用通量的新手,并且已经开始使用 alt.js 实现。我想知道什么时候我会在我的操作中使用调度。例如,以这段代码为例。
目前,这可以在不使用 dispatch() 函数的情况下工作,如他们的教程http://alt.js.org/guide/async/中所示
我想知道什么时候我想这样做,调度做什么以及它与仅从 ImageaActions.js 中的 updateImages 函数返回值有何不同
javascript - 在同构应用程序中访问 React 操作时遇到问题
我正在使用带有 React 的 Alt.js 并在 HomeActions.js 文件中出现错误HomeActions.js: Uncaught TypeError: Cannot read property 'updateUserSuccess' of undefined
。更不用说在我完全重新安装 node_modules 之前,相同的代码可以完美运行。
这是代码
getUser()
componenetdidmount(){}
在Home.js的函数中调用
也直接从组件调用 action 属性确实有效,所以我想问题不在于 Alt.js 或 generateActions :例如
这个问题可能与我上一个关于在实例方法中调用函数的问题有关。
旁注:更新依赖项后,我还必须更改使用RouterContext
i 而不是RoutingContext
在服务器端 react-middle-ware 中,并解决与我导入的相关问题browserHistory
(react-router
在我使用createBroswerHistory
from之前'history/createBrowserHistory'
)
编辑1:我替换this.actions.updateUserSuccess(res.text);
为alt.actions.HomeActions.updateUserSuccess(res.text);
并且updateUserSuccess
可以访问但仍然收到警告ReferenceError: An action was called but nothing was dispatched
编辑 2:我刚刚通过console.log(this);
在较新版本和旧版本中使用来解决问题的核心,这里是日志
旧版本:
新版本
很明显,新版本中没有调度方法。有人可以解释为什么会这样吗?
javascript - React/Alt - 响应用户输入时避免在调度中调度?
我有一个接受用户输入的组件。当他们保存时,我使用一个动作来更新商店的状态
为了响应这些新信息,结果组件需要运行异步操作,然后在新信息返回时做出响应。
无论我尝试什么,我似乎都会遇到 hacksetTimeout
或 dispatch-within-dispatch 错误。
异步操作是通过数据源定义的,并且有自己的存储,如此处所述。构建这种行为的正确方法是什么?
- 输入组件接收用户输入。
- 输入组件使用一个动作来更新商店的状态
- 目前,存储尝试启动输出组件所需的异步操作
- 在这一点上,我的选择似乎是 Dispatch-with-dispatch 错误或涉及
setTimeout
. 感觉都不对。
我错过了什么?
javascript - 监听特定的 Store 属性变化
我有一个初始状态设置为等于存储状态的组件。此外,该组件还订阅了 Store 中发生的任何更改。
我的目标是将组件订阅到商店的特定属性。
我试图进行检查entitiesOnChange
,但我发现它this.state
已经与商店的状态 ( nextState
) 保持同步。同样在以下代码示例中(我尝试过的)this.setState(nextState)
没有被调用,因为两个状态是相等的,因此不会发生重新渲染:
那么如何将我的组件订阅到特定商店的属性呢?
javascript - setState() 是否可用于更新 Alt.js 商店中的状态?
是的,我知道setState()
更新商店的状态并向所有订阅者发出更改事件,但我发现并非每个人都使用它并在更新状态时忽略它。
例如在下面的alt-todo repo中,他们不使用setState()
:
但是在官方 alt.js 存储库中,他们使用它:
所以我想知道这两种方式有什么区别?
reactjs - Alt.js中动作的必要性是什么
我是新来的反应。几天以来,我一直在阅读 Alt.js 和 Flux 架构。很少有我无法理解的概念。我们从一个组件访问存储并获取数据。如果是服务器端请求,我们有异步数据源,它通过 this.registerAsync() 绑定到存储。对服务器发出的任何 POST 或 GET 请求都写入数据源文件,并在存储中处理响应。那么操作的必要性是什么?我认为操作文件只是一个虚拟文件,它无用地连接源和存储或组件和存储。而是我们不能删除操作并直接从源或组件向存储发送响应吗?
javascript - 在商店监听器中调用另一个动作是 Flux 的反模式吗?
在我的代码库中,我在一些商店监听器中触发操作。但是,我最近听说这是一种不好的做法。为什么它不好,我应该如何修复或重构它?我已经对这个问题进行了研究,但找不到一个很好的例子。
仅供参考,我使用Alt.jsaction.defer
提供的触发动作。