Jquery ui 如何将jQuery模式与React视图切换一起使用?

Jquery ui 如何将jQuery模式与React视图切换一起使用?,jquery-ui,reactjs,Jquery Ui,Reactjs,在反应方面,我是个新手,希望有人能帮我 我已经能够使用React创建一个通用的视图切换组件 var ViewSwitcherContainer = React.createClass({ getInitialState: function() { return { activeViewName : this.props.views[0].Name }; }, selectView: function(name) { this.state.activeVie

在反应方面,我是个新手,希望有人能帮我

我已经能够使用React创建一个通用的视图切换组件

var ViewSwitcherContainer = React.createClass({
getInitialState: function() {
    return {
        activeViewName : this.props.views[0].Name
    };
},
selectView: function(name) {
    this.state.activeViewName = name;
    this.forceUpdate();
},
render: function () {
    return  <div>
        <ViewSwitcher views={this.props.views} onViewSelection={this.selectView}/>
        <ViewSwitcherContent views={this.props.views} activeViewName={this.state.activeViewName}/>
    </div>;
}
});
var ViewSwitcherContainer=React.createClass({
getInitialState:函数(){
返回{
activeViewName:this.props.views[0]。名称
};
},
选择查看:功能(名称){
this.state.activeViewName=名称;
这个.forceUpdate();
},
渲染:函数(){
返回
;
}
});
下面是一个JSFIDLE演示。。。

但是,当我尝试在模态组件中加载该切换组件时,有时会得到一个未捕获错误:不变冲突:findComponentRoot(…,.r[3iziq].[1].[0].[1]):无法找到元素。这可能意味着DOM发生了意外的变异(例如,通过浏览器)。“react出错。

var ModalView = React.createClass({
getInitialState: function () {
    this.viewDefinitions = [
        {DisplayName:'View A', Name:'viewA', View:ViewA},
        {DisplayName:'View B', Name:'viewB', View:ViewB}
    ];
    return {};
},
componentDidMount: function () {
        $("#" + this.props.modalId ).dialog({
            autoOpen: false,
            height: 400,
            width: 400,
            modal: true,
            draggable: false,
            resizable: false
        });
},
render: function () {
    return  <div id={this.props.modalId} title={this.props.modalId}>
            <ViewSwitcherContainer views={this.viewDefinitions}/>
    </div>;
}
});
var ModalView=React.createClass({
getInitialState:函数(){
this.viewDefinitions=[
{DisplayName:'View A',Name:'viewA',View:viewA},
{DisplayName:'View B',Name:'viewB',View:viewB}
];
返回{};
},
componentDidMount:函数(){
$(“#”+this.props.modalId).对话框({
自动打开:错误,
身高:400,
宽度:400,
莫代尔:是的,
可拖动:错误,
可调整大小:false
});
},
渲染:函数(){
返回
;
}
});
下面是一个JSFIDLE演示。。。


我错过了什么?问题是在我的模态组件中还是在视图切换组件中?

我实际上找出了问题所在。jQueryUI中的对话框功能似乎通过为对话框及其标题栏动态创建div而添加到DOM中

根据事件的时间安排,在React进行和解时可能会导致问题


为了解决这个问题,我实现了一个模式对话框的反应版本。

所以你完全停止使用jQueryUI对话框了?我在尝试使用基金会的reveal时看到了类似的问题。您是否有到您实现的反应版本的链接或代码示例?