我必须根据xml文件动态生成各种控件。当我将其他控件添加到名为Items的数组中,然后将各种控件数组Items包装在对话框控件中时,例如
this.dialogPanelInstance = <Dialog visible={this.state.visible}>{items}</Dialog>;
如果将this.dialogPanelInstance放在render方法中,则更改state.visibile时,对话框的可见性将不会重新呈现,这与Items数组中控件的可见性相同。
如果我直接在render方法中编写该行
<Dialog visible={this.state.visible}>{items}</Dialog>
该对话框处于打开和关闭状态,反映了“可见”状态,但其中控件的可见性仍未响应该状态。
答案 0 :(得分:0)
您在哪里分配:
this.dialogPanelInstance = <Dialog visible={this.state.visible}>{items}</Dialog>;
如果它不在render方法内,则状态或属性更改将不会反映在this.dialogPanelInstance
变量中,因为它不知道自己必须更新。在状态/属性更改期间,仅会重新运行render方法和某些其他反应生命周期方法。