你应该this.setState()
在使用redux时使用吗?或者你应该总是派遣行动并依靠道具?
setState
对于具有本地显示状态但与全局应用程序无关的UI组件,可以明确使用.例如,表示特定下拉菜单是否被主动显示的布尔值不需要处于全局状态,因此菜单组件的状态更方便地控制它.
其他示例可能包括层次结构的折叠显示中的线的折叠/展开状态.或者可能是选项卡导航中当前选定的选项卡.但是,在这两个示例中,您仍可以选择全局处理UI状态.例如,如果您希望在浏览器存储中保持展开/折叠状态,以便通过页面刷新保留它,则这是必要的.
在实践中,通常最容易实现具有本地状态的UI元素,并根据需要将它们重构为全局状态.