Проблема с jquery в React.JS приложении
Здравствуйте, у меня возникла вот такая вот ошибка в моем приложении ReactJS я уже долго сижу и никак не могу ее исправить.
Если кто знает, как решить проблему, помогите пожалуйста Я так понял, что React ругается, когда лезут в его DOM и что-то меняют, но мне нужно подключить сторонние скрипты в мое приложение и у меня не получается из-за того, что я не могу это исправить... P.S Прошу прощения, что возможно доставляю неудобства заливая скрин ошибки через сервис, просто через форум он очень нечеткий Скрин ошибки http://www.picshare.ru/view/8445112/ src/index.jsx import React, { Component } from 'react'; import ReactDOM, { render } from 'react-dom'; import App from './App.jsx'; render( <App />, document.getElementById('root') ); src/App.jsx import React, { Component } from 'react'; import ReactDOM, { render } from 'react-dom'; import App from './App.jsx'; render( <App />, document.getElementById('root') ); src/blocks/Layout/index.jsx import React, { Component } from 'react'; import ReactDOM, { render } from 'react-dom'; class Layout extends Component { render() { return ( <div className="layout"> <div className="header"> <nav className="navbar navbar-ct-blue navbar-fixed-top navbar-transparent" role="navigation"> <div className="container"> <div className="navbar-header"> <button type="button" className="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span className="sr-only">Toggle navigation</span> <span className="icon-bar"></span> <span className="icon-bar"></span> <span className="icon-bar"></span> </button> <a className="navbar-brand navbar-brand-logo" href="#"> <div className="logo"> <img src="" alt="Photo" /> </div> <div className="brand"> Creative Tim </div> </a> </div> <div className="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul className="nav navbar-nav navbar-right"> <li> <a href="javascript:void(0)" data-toggle="search"> <i className="pe-7s-search"></i> <p>Search</p> </a> </li> <li> <a href="#"> <i className="pe-7s-mail"> <span className="label"> 23 </span> </i> <p>Messages</p> </a> </li> <li className="dropdown"> <a href="#" className="dropdown-toggle" data-toggle="dropdown"> <i className="pe-7s-user"></i> <p>Account</p> </a> <ul className="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li className="divider"></li> <li><a href="#">Separated link</a></li> </ul> </li> </ul> </div> </div> </nav> </div> <div className="content"> {this.props.children} </div> <div className="footer"> </div> </div> ); } } export default Layout; public/index.html <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <!-- Fonts and icons --> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" /> <!-- Material Kit CSS --> <link rel="stylesheet" href="assets/css/material-kit.css"> <title>Document</title> </head> <body> <div id="root"></div> <script src="bundle.js"></script> <!-- Core JS Files --> <script src="assets/js/core/jquery.min.js"></script> <script src="assets/js/core/popper.min.js"></script> <script src="assets/js/bootstrap-material-design.min.js"></script> <!-- Plugin for the Sliders, full documentation here --> <script src="assets/js/plugins/nouislider.min.js"></script> <!-- Material Kit Core initialisations of plugins and Bootstrap Material Design Library --> <script src="assets/js/material-kit.min.js"></script> </body> </html> |
У вас на скриншоте видно, что дело не в реакте, а в том, что у jQ Object либо вовсе нет метода "tagsinput", либо это не метод, а свойство.
Посмотрите какие зависимости есть у "material-kit.js" и добавьте их на страницу перед этим скриптом. |
Если я делаю, как вы говорите, то у меня появляется следующая ошибка
http://www.picshare.ru/view/8448297/ Я просто взял и переместил файл material-kit.js выше файла jquery |
Цитата:
|
Нет, такого вы не говорили. Я просто не совсем понял, что конкретно требуется сделать?
Не могли бы вы пожалуйста более подробно расписать. Как узнать какие у него зависимости? И как их перенести? |
Muviez, откройте подключаемый файл, в комментарии в коде найдите его сайт.
На сайте можно найти и документацию, и все его зависимости. |
Muviez, возможно это ваша библиотека:
https://github.com/creativetimofficial/material-kit Если это так, то ознакомьтесь с этой страницей: http://demos.creative-tim.com/materi...roduction.html Upd. если на странице есть элементы с классом "tagsinput", то этот класс стоит удалить, либо подключить библиотеку "tagsinput", либо хотя бы добавить этот метод в jq: jQuery.fn.tagsinput=function(){return this;}; |
Nexus, да это моя библиотека, но я подключал все правильно, ибо скопировал стартовый шаблон у них.
Нет, на странице нет элементов с таким классом Куда нужно прописать эту строчку кода, которую вы мне написали, чтобы это было правильно? Я вроде нашел эту библиотеку для npm https://www.npmjs.com/package/bootstrap-tagsinput Или cdnjs - https://cdnjs.cloudflare.com/ajax/li...p-tagsinput.js Не могли бы вы пожалуйста посмотреть подходят ли они? |
Muviez, просто подключите эту библиотеку перед "material-kit.js", должно помочь.
Upd. обратите внимание на этот комментарий: https://github.com/creativetimoffici...ment-283769774 В нем присутствует ссылка на необходимую вам библиотеку. |
Nexus, даааа, спасибо вам огромное!!!
Плюс в карму однозначно! И еще кое-что, я конечно уже совсем обнаглел, но вы не могли бы подсказать причину данной ошибки? Не совсем понимаю... http://www.picshare.ru/view/8449915/ |
Часовой пояс GMT +3, время: 16:41. |