Рендерить компонент React автоматически после вызова ajax

С помощью jQuery я могу подключить функцию обработчика событий с помощью метода on, который будет запускаться также, когда DOM изменить и что-то (например, вызов Ajax) заменить HTML страницы.

Можно ли сделать что-то подобное с компонентом React? После вызова ajax, который изменяет DOM, если найден элемент с определенным class, визуализируйте его (с ReactDOM.render(...)).

Спасибо


person Oscar Fanelli    schedule 14.05.2016    source источник
comment
Если я не ошибаюсь, в ответ ваш вызов ajax не должен нести ответственность за изменение DOM. Скорее, ваш вызов ajax должен изменить состояние вашего реагирующего компонента, который вызывает повторную визуализацию и, в свою очередь, должен изменить dom. Как правило, за изменение dom отвечает только реакция.   -  person Georgemayer    schedule 14.05.2016
comment
Я не в одностраничном приложении, созданном React. Отреагировали только некоторые компоненты, другие управляются jQuery по нескольким причинам.   -  person Oscar Fanelli    schedule 15.05.2016


Ответы (1)


Ответственность за рендеринг компонента должна быть возложена на реакцию. Следовательно, вы должны сохранить ответ от вызова ajax в current state, и реакция будет обрабатывать рендеринг компонента на основе текущего состояния. Следуйте этим API, если вы используете только реакцию

https://facebook.github.io/react/docs/component-api.html

или следуйте connect(), если вы пишете в react-redux

person Mahesh Haldar    schedule 14.05.2016
comment
Это хороший способ, если все на вашей странице управляется через React. На моем сайте (по многим причинам, это не случайно) что-то реагируют, что-то нет. У вас есть решение моей проблемы? Прикрепить листнер и реагировать, когда происходит класс? - person Oscar Fanelli; 15.05.2016