Reactjs 是否可以或是一个好主意,将react组件固定在减速器内,并根据动作将组件传递到容器中?

Reactjs 是否可以或是一个好主意,将react组件固定在减速器内,并根据动作将组件传递到容器中?,reactjs,react-redux,Reactjs,React Redux,我想构建一个通用对话框,它的全部职责是显示模型对话框和对话框中的内容。但是,我希望根据操作通过reducer传递内容。因此,如果调度操作要在模式对话框中显示单选按钮列表,则基于开关的reducer将返回一个react组件,该组件在对话框中呈现,或者调度操作要显示一个包含行和列的表,reducer将返回另一个组件,该组件随后在模式对话框中呈现 这是可能的还是好主意?如果没有,我如何构建一个通用对话框来动态传递要显示的内容 我的减速机是这样的 从“./actions/radiobutton\u a

我想构建一个通用对话框,它的全部职责是显示模型对话框和对话框中的内容。但是,我希望根据操作通过reducer传递内容。因此,如果调度操作要在模式对话框中显示单选按钮列表,则基于开关的reducer将返回一个react组件,该组件在对话框中呈现,或者调度操作要显示一个包含行和列的表,reducer将返回另一个组件,该组件随后在模式对话框中呈现

这是可能的还是好主意?如果没有,我如何构建一个通用对话框来动态传递要显示的内容

我的减速机是这样的

从“./actions/radiobutton\u action”导入{LOAD\u radiobutton};
从“./actions/TABLE\u action”导入{LOAD\u TABLE};
从“./组件/LoadRadioButtons”导入LoadRadioButtons;
从“./组件/LoadTableData”导入LoadTableData;
const INITIAL_STATE={data:null,openDLG:false,loadData:null};
导出默认函数(状态=初始状态,动作){
开关(动作类型){
案例加载按钮:
返回{data:action.payload,openDLG:true,LoadData:LoadRadioButtons};
壳体载荷表:
返回{data:action.payload,openDLG:true,LoadData:LoadTableData};
默认:返回状态;
}

}
完全可以将组件保持在Redux状态,因为组件只是函数,无论它们是基于类的组件还是功能组件。但是,最好将要渲染的组件作为道具向下传递,因为在存储中保留要渲染的组件可能会使状态合并逻辑更加复杂

例如,将执行动态渲染的组件的父组件可能从Redux存储中读取,并根据Redux存储的状态,从多个组件中选择一个作为道具传递给其子组件。对我来说,这似乎是一种更好的方法,因为它属于Redux的良好实践,使组件成为其道具和状态的纯函数,并且它使您的Redux存储数据模型更干净