我正在尝试使用jquery将react组件安装到bootstrap模式体,然后在成功的ajax请求之后打开模式,但是我似乎无法加载react组件。这就是我到目前为止所做的:
成功后我调用assignModal函数,我在父反应组件中。
assignModal: function(){
$('.assign-modal-body').html(<Cortex.VulnerabilityList.AssignModal parent={this}/>);
$("#vuln-assign-modal").modal('show');}
这是反应组件
Cortex.VulnerabilityList.AssignModal = React.createClass({
componentDidMount: function() {
console.log("Component mounted")
},
render: function() {
return (
<h1>Hello</h1>
)
}
});
答案 0 :(得分:0)
根据我的经验,如果您尝试使用jQuery和React来操作DOM,那么您将遇到麻烦。如果它对你来说是一个选项,摆脱jQuery并完全接受React的声明性编程范例。
但也许你有想要使用的jQuery小部件。在这种情况下,尝试设计您的应用程序,使jQuery永远不会写入您的React树中的DOM。
所以有几个选择:
<div>
降序,并将您的模态放在兄弟<div>
中。然后只使用jQuery和普通的HTML来渲染你的模态而不涉及React。assignModal
,而只需将一些全局状态设置为showModal = true
,并在模式if (!showModal) return null
的render方法中设置类似的东西。我最近对此wrote a post。