使用redux时应该使用this.setState()吗?

this.setState()使用redux时应该使用吗?还是应该一直在派遣行动并依靠道具?

西里神无Pro2020/03/12 14:36:19

明确使用setState会用于具有本地显示状态但与全局应用程序无关的UI组件。例如,表示特定下拉菜单是否处于活动状态的布尔值不需要处于全局状态,因此可以通过菜单组件的状态更方便地对其进行控制。

其他示例可能包括层次结构的手风琴显示中线条的折叠/展开状态。或选项卡导航中当前选择的选项卡。但是,在这两个示例中,您仍可能选择全局处理UI状态。例如,如果您想将扩展/折叠状态保留在浏览器存储中,以便通过页面刷新来保存它,则将是必需的。

实际上,通常最简单的方法是使用局部状态实现此类UI元素,然后根据需要将其重构为全局状态。