我使用的是ReactJS,我有以下内容:
main.js
handleClick: function(e) {
//other code
var myComponent = <MyComponent data={options} />;
React.render(myComponent, document.getElementById("modal_inner"));
modal_popup(options);
}
render: function() {
return (
<div onClick={this.handleClick}>some text</div>
);
}
myComponent.js
// other code
var insert = [];
render: function() {
if(this.props.data.label == "one") {
insert.push(<div id="datepicker">text</div>);
}
else {
insert.push(<div id="otherElem">text</div>);
}
return (
{insert}
);
}
modal.js
function modal_popup(options, callbackFnc) {
//some code
console.log($('#datepicker').html());
}
描述发生的事情: 当我在浏览器中加载main.js页面时,有几个按钮与onClick事件。如果按钮&#34;一个&#34;单击,然后在myComponent.js中,将datepicker DIV添加到模态中。
问题是: 当我点击按钮&#34;一,&#34;它工作正常。当我点击另一个按钮时,然后返回按钮&#34;一个,&#34; modal.js没有找到datepicker元素(即它返回&#34; undefined&#34;当我试图找到元素本身或其中的html()时)。当我查看source时,datepicker元素就在那里。
我在React的每个步骤/生命周期中都做了console.log,它似乎呈现了正确的元素。所以我不确定问题是什么?