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

你应该在使用redux时使用this.setState()吗? 或者你应该总是调度行动,并依靠道具?

setState清除使用将用于具有本地显示状态但与全局应用程序无关的UI组件。 例如,一个表示特定下拉菜单是否被主动显示的布尔值不需要处于全局状态,所以通过菜单组件的状态可以更方便地进行控制。

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

在实践中,通常最容易实现这种具有本地状态的UI元素,并根据需要将其重构为全局状态。