我尝试更新像这样创建的react组件的道具:
contentElement = FormDialog.popups[this.props.popupType]
contentElement.props = stuff // <--- immutable
请注意,FormDialog.popups
是静态对象。
起初,我是通过以下方式实现弹出窗口的:
contentElement = React.createElement(EditProfile, {
...this.props,
updatePendingData: this.updatePendingData.bind(this)
})
现在,我想让这种实现更加动态,但是我找不到任何解决方案(也许还因为我真的不知道如何用Google搜索)。
我想摆脱像EditProfile
这样的硬编码名称。所以我的计划是AppRoot
组件将所需的弹出窗口注册到root-popup-component的静态对象中:
// inside app-root
componentDidMount() {
FormDialog.popups.editVersorgung = React.createElement(EditVersorgung)
}
当触发特定事件时,this.props.popupType
中的FormDialog
由应用程序根组件设置。现在,我希望这个FormDialog
能够在他的静态弹出窗口数组中查看,选择正确的数组并将一些道具传递给组件。我该如何实现?
问候信使