1

我正在使用 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

我的问题是:

  1. 如何让对话框在每次创建时显示具有不同道具的组件?
  2. 这是解决我的问题的正确方法吗?我还需要扩展我的解决方案,以便它不仅加载具有不同道具的相同组件,还需要完全加载不同的组件。
4

0 回答 0