我在讨论重构我正在从jQuery进行反应的部分网站。在我开始之前,我会非常感谢我的思考过程。我在考虑对表单行为做出正确反应
<DeviceChooser>
<ManufacturerSelect />
<DeviceSelect />
<ButtonOne />
<ButtonTwo />
<DeviceChooser>
这是所需的组件。它的行为是:
- 父级(DeviceChooser)通过componentWillMount上的ajax获取一些json数据。
- 它将部分数据传递给ManufacturerSelect,它是一个选择字段。
- 在此处选择了某些内容后,DeviceChooser会将一些其他数据传递给DeviceSelect,它也是一个选择字段。
- 一旦事情是选择在那里,如果某些条件得到满足,无论是Button1的和Button2的变得活跃
- 点击Button1的或将Button2将页面重定向到指定的URL,通过参数设置为根据2个选择字段。
更实际地说,你选择你的手机制造商,那么在接下来的选择从制造商选择您的设备,那么你重定向到无论是第1页第2页或一些事情取决于你按下按钮参数。
我的问题是:
- 谁的责任,它应该是决定是否按钮应积极? DeviceChooser或按钮?
- 谁应该撰写重定向网址?选配器还是按钮?
- 我将在整个网站上有这个DeviceChooser组件的变体,我能做些什么来确保至少有一些可重用性?需要注意的是,有时它会有更多的选择字段,只有2个,其他时间不同的选择字段将根据状态成为方程的一部分(比如,如果您的设备是笔记本电脑,还需指定设备的边缘形状)
我真的很感谢任何反馈。我还创建了一个Gist与我到目前为止,如果有帮助的代码。
我最近才开始这个冒险,我还没有实现一个商店。我已经阅读了你提到的三个中的每一个,但是我不能说我足够了解选择对我最有效的东西。 你会推荐什么?我可以详细阐述一下,并说在一个页面上可能有多个DeviceChooser组件,但是它们所有数据的来源可能只是一个ajax请求。尽管这并非严格必要。 – VesterDe
我最初是从Flux开始的,然后被介绍给Redux。它简单得多,规模也非常好。传统上,Flux是国王,但现在看来,redux正在成为首选框架。我会看看这篇文章https://blog.andyet.com/2015/08/06/what-the-flux-lets-redux/ – JamesWatling
感谢您的链接和输入:) – VesterDe