سلام به همگی. خسته نباشید.
من از routing استفاده کردم با <NavLink> بین صفحات حرکت میکنم. اما خیلی از بخش هایی که از جی کوئری استفاده میکنن درست کار نمیکنن ولی وقتی توی صفحه refresh میکنم درست میشه. فکر کنم جاهایی که مثلاً document.ready استفاده شده کار نمیکنه. چطور باید این مشکل رو حل کنم؟
ممنون
سلام دوست من
در React نیازی به استفاده از document.ready نیست چون میتونه از چرخه حیات ها استفاده کنید componentDidMount
و برای دسترسی به مواردی که وابسته به جی کوئری هستن میتونید از این مثال بهره ببرید
import $ from 'jquery'; //make sure you have jquery as dependency in package.json
class MyComponent extends Component {
componentDidMount() {
let owlCarousel = $.fn.owlCarousel; //accessing jquery function
let magnificPopup = $.fn.magnificPopup; //accessing jquery function
$('.owl-carousel').owlCarousel({ //call directly on mount
});
$('.popup-gallery').magnificPopup({
});
}
}
منظورم این نبود که من از document.ready استفاده کردم. توی همه قالب ها معمولاً مواردی مثل اسلایدر وجود داره که داره با jquery کار میکنه. اونها همشون از کار میوفته توی routing. من رفرنس ها رو توی index.html دادم. فکر میکنه وقتی صفحه عوض میشه دیگه اونها رو لود نمیکنه
در کل جی کوئری و ری اکت رابطه خوبی باهم ندارن و دلیل اینکه اجرا نمیشه اینه که ری اکت تنها یکبار اجراش میکنه چون یکبار به مرورگر کاربر فرستاده شده.
بهترین روش این هست که بجای رویدادهای جی کوئری از رویدادهای خود ری اکت استفاده بشه
اگر واقعا نیاز هست میتونید به BrowserRouter این پیکربندی رو بدین
forceReferesh={true}سلام. من پروژم رو آپلود کردم. آدرسش اینه:
اگر وقت کردید یه نگاه بهش بندازید که ببینید منظورم چی هست. و همچنین اینکه چرا توی Wappalyzer ننوشته من از react استفاده کردم؟