我已经阅读了多篇教程,如何使用Redux bot在React中制作CRUD none 作者解释为什么他们正在使用Redux。 (就像他们只是为了花哨而使用它或因为其他所有人都在使用它。)
来自here的Citate:
人们经常在需要之前选择Redux。
通过进一步的研究,我了解到Redux有益于:
不存在错误或正确。但只有做有意义的事情。
我有一个使用共享组件的组件:
¦-- domains/FooManagement/Components/Editor.jsx <-- Most-parent of the editor
¦-- domains/FooManagement/Components/..the children of Editor.jsx
¦-- shared/Components/Tabs/Tabs.jsx <-- Most-parent of the tabs
¦-- shared/Components/Tabs/..the children of Tabs.jsx
Tabs.jsx
用于Editor.jsx
。
方法1:反应状态(我认为是正确的)
Editor.jsx
。Editor.jsx
中编写的回调,用于更新Editor.jsx
中的状态。然后,此状态更改将重新呈现新的活动选项卡Editor.jsx
等使用相同嵌套Tabs.jsx
的其他组件上,必须在编辑器中处理选项卡的更改。代码示例:
/**
* domains/FooManagement/Components/Editor.jsx
* or
* domains/BarManagement/Components/Editor.jsx
*/
onTabChange(activeTab) {
this.state.activeTab = activeTab;
this.setState(this.state);
}
我认为这是正确的方法,因为:
方法2:Redux状态
Editor.jsx
有自己的州Tabs.jsx
有自己的州Editor.jsx
不会将数据传递到Tabs.jsx
,因为Tabs.jsx
从Redux商店获取数据好处:
Editor.jsx
中,因为编辑器组件的行为不是编辑器的兴趣所在。 (或编辑是否应该感兴趣?)我认为这很糟糕,因为
Editor.jsx
中,您将看不到可以呈现视图的内容。它隐藏在其他组件中。但是如果它全部在Editor.jsx
中处理,那么你就可以对任何变化必须呈现的所有内容进行概述和控制。
适合您的方法是什么?
答案 0 :(得分:1)
Tabs.jsx
赢了&可能有类似form
的内容,其中包含可能包含subForm
的进一步嵌套Grid
,你肯定不需要使用Redux复杂化你的生活,但就像我一样前面已经说过,对于我们来说,我们开始注意到在这个阶段,整合Redux将是相当可观的