好的,所以我对Redux非常陌生。我正在浏览创作者的30个教程。到目前为止,我已经非常密切地关注了,但是在vid 17这里有一个曲线球:
https://egghead.io/lessons/javascript-redux-react-todo-list-example-adding-a-todo
核心概念以:
出售dispatch
然后突然,在这个视频中:
dispatch
继续前面的说法,我会猜到下一个项目ID和文本是app状态对象的一部分。
这是在没有第二个想法的情况下完成的,我正在尝试处理和推理每一步所引入的,并找出任何意义。可能会有,并随时告诉我!但为了以防万一,我有一些猜测,为什么会这样,虽然它们并不像到目前为止卖给我的东西那样“整洁”。它们主要围绕定义(或重新定义)“app state”。这一切似乎都是随意的 - 例如:
所以,我想知道是否有共识/正确和明确的答案 - 谢谢。
答案 0 :(得分:2)
我认为如果你一直看完教程系列,他将摆脱id生成逻辑。一般来说,无论如何,这不属于客户端。我认为他将摆脱直接的文本框访问。
但是,作为一个原则,您可以认为生成自动增量值是一个合理的变异位置。
至于直接阅读和写入文本框,我会说它通常不是“React”做事的方式。我已经在一些自定义组件中完成了它(例如出于特殊屏蔽原因),但通常,您将文本框绑定到某个状态值并使用reducer更新该值。
读/写输入状态有很多模式。 Redux form是一个受欢迎的。
我个人使用事件委托,每个表单都有一个事件处理程序,根据状态/值发生变化的输入名称更新状态。我发现这会产生最少量的代码,通过一个动作和一个相对简单但灵活的减速器将状态更新保存在一个地方。