Проблема с 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, время: 10:22. |