私以为redux存的是M-V-VM里的M,而组件state应该只存组件内部的状态。我觉得override组件实例的setState()会混淆VM与M的数据吧;况且如果把诸如record: {field1: xxx, field2: xxx}和showPopover: true;这样的数据对象和状态变量存在一起也非常不利于维护和扩展。
另外,我觉得组件自己的state应该最好只对自己可见,保持封装性;需要组件交互的一律使用redux或直接传递绑定this的函数(虽然某些eslint规则会在你传递绑定this的函数时告诉你不要这么用)。
引用一句前辈的话:合理结合redux和setState()才是王道。大一统思想眉毛胡子一把抓不可取。