【发布时间】:2019-01-08 10:28:45
【问题描述】:
我正在使用 React 和 Flux 创建一个 Mission Clock 网络应用。
代码可以在这里找到:https://github.com/jcadam14/Flux-Mission-Clock
现在它非常基础,我是 React 和 Flux 的新手,而且我已经很长时间没有接触过任何 JavaScript(从事单体 Java 应用程序业务太久了)。这是为了获得概念证明,以便我可以基于 React/Flux 进行设计。
基本概念是“下一次联系”计时器倒计时,当它在完成前 1 分钟到达时,计数器的方框会变为红色。然后当 NextContact 计时器完成时,CurrentContact 计时器启动,并且新的 NextContact 计时器应该启动。
在 NextContact 组件完成并应该使用新的 NextContact 更新之前,一切正常。组件中的文本和样式更新,但倒计时没有开始倒计时。它保持新值但不启动计时器。
每次由于其他原因发生渲染时,NextContact 组件都会再次更新一个新的时间,但不会开始计数。
但是,如果我在任何文件中保存任何更改(我正在使用带有 module.hot 活动的 Visual Studio Code),那么计数器就会启动并且实际上会在它应该在的地方找到。所以看起来有些东西并没有像我预期的那样完全呈现变化。
我尝试使用 forceUpdate 但没有任何效果,我尝试了各种获取 Counter 组件的方法但没有任何效果。
任何帮助将不胜感激。我希望一旦我搞定并理解所有调度的工作原理,应用程序的其余部分应该就位(计时器是应用程序的核心组件,其他一切都相当简单)。
编辑:我也尝试使用 Countdown 编写一个简单的计时器应用程序,但这次使用 Redux,同样的事情发生了。所以我想问题可能是你如何强制组件重新初始化自己?
谢谢! 杰森
【问题讨论】:
标签: javascript reactjs reactjs-flux