我正在使用 PrimeReact 开发应用程序。在我的一个 React 组件中,我正在使用动态创建组件React.createElement
并将其存储在状态变量中。然后,我将使用 PrimeReact 在 Dialog 中显示动态创建的组件。下面是创建组件的代码。
let element;
element = React.createElement(MyComponent, { ...props } ); // props defined earlier
this.setState({
dynamicComponent: element,
dialogVisible: true
});
下面是dynamicComponent
在对话框中显示的代码。
<Dialog header="Form" visible={this.state.dialogVisible} style={{ width: '50vw' }} modal={true}>
{this.state.dynamicComponent}
</Dialog>
上面的代码只在第一次工作。下次如果我通过不同props
的,它仍然显示与以前的组件props
。
我的问题是:
- 如何让对话框在每次创建时显示具有不同道具的组件?
- 这是解决我的问题的正确方法吗?我还需要扩展我的解决方案,以便它不仅加载具有不同道具的相同组件,还需要完全加载不同的组件。