Компонент React js не прослушивает плагин Jquery

#javascript #jquery #reactjs

#javascript #jquery #reactjs

Вопрос:

Я хочу сотрудничать с react с jquery, как показано ниже

предположим, у меня есть это текстовое поле, которое создается с помощью react

 var textarea = React.createClass({
   render : function(){
       return <textarea id="mytextarea"></textarea>;
   }
});
  

Я хочу, чтобы эта текстовая область автоматически изменялась, применяя плагин с именем «autosize», поэтому я сделал это;

 $("#mytextarea").autosize();

ReactDOM.render(<textarea/>, document.getElementById('form'));
  

примечание: если я создам обычную текстовую область (не с помощью компонента react DOM), плагин заработает.
но не с компонентом react.

Комментарии:

1. попробуйте вместо id использовать className="mytextarea" и ".mytextarea" для jQuery

Ответ №1:

Текстовая область не отображается во время вызова $("#mytextarea").autosize(); , поэтому на самом деле она еще не существует. Возможно, вам удастся вызвать .autosize() componentDidMount() метод React, который будет вызван после рендеринга вашего компонента.

 var textarea = React.createClass({
  componentDidMount: function() {
    $("#mytextarea").autosize();
  },
  render : function(){
    return <textarea id="mytextarea"></textarea>;
  }
});