jQuery在反应渲染后找不到元素

时间:2015-12-16 13:49:14

标签: jquery reactjs

我使用的是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,它似乎呈现了正确的元素。所以我不确定问题是什么?

0 个答案:

没有答案