【问题标题】:Owl Carousel npm module is not working in reactjsOwl Carousel npm 模块在 reactjs 中不起作用
【发布时间】:2019-06-05 13:52:08
【问题描述】:

我正在开发一个 reactjs 应用程序,我正在使用 owl carousel npm 模块来显示一些数据。

我有一个只渲染 owl carousel 的组件,为此我安装了 owl carousel 并像下面这样导入

import OwlCarousel from 'react-owl-carousel';
import 'owl.carousel/dist/assets/owl.carousel.css';
import 'owl.carousel/dist/assets/owl.theme.default.css';

下面是渲染方法

 render() {
    const options = { 
        nav: true,
        navText:["<div className='nav-btn prev-slide'></div>","<div className='nav-btn next-slide'></div>"],
        rewind: false,
        autoplay: true,
        slideBy: 1,
        dots: true,
        dotsEach: true,
        dotData: true
      };
      if(!this.state.response) return(<div>Loading...</div>);
      return (
          <div className="container">
          <div className="PageHeading">
            <div className="row">
              <div className="col-md-8 col-sm-8 col-xs-12"><h4>Latest Published</h4></div>
              <div className="col-md-4 col-sm-4 col-xs-12 text-right"><Link to="/">View All&nbsp;<i className="arrow_carrot-right"></i></Link></div></div>
              </div>
              <br />
             <OwlCarousel ref="gallery" margin={15} loop autoplay={true} items={6}  options={options}>
                {
                    this.state.response.map((obj,key)=>
                    <div className="" key={key}>
                    <div className="subcategories_blockCard"> 
                    <Link to={'/book/'+obj.book_title.split(' ').join('-')}>
                        <img src={'http://localhost:3001/'+obj.book_cover} style={{'width':'100%'}} title={obj.book_title}/>
                        {/* <div className="card-content">{obj.book_title}</div> */}
                        </Link>
                    </div>
                </div>
                    )
                }

            </OwlCarousel>
          </div>

        )
  }

现在,问题是当应用程序启动时轮播项目不可见并且当我单击包含根路径 http://localhost:3000/ 的任何链接时(假设应用程序的徽标包含 http://localhost:3000/ 的 href 并且单击徽标时是&lt;a href="http://localhost:3000"&gt;&lt;img src="logo.png /&gt;&lt;/a&gt;) 然后轮播就会出现在页面上。

我不知道如何解决它, 请帮帮我。

【问题讨论】:

    标签: javascript reactjs owl-carousel


    【解决方案1】:

    我猜你的问题是你没有使用 setState 来改变状态。

    【讨论】:

    • 我从ComponentDidMount 上的RestAPI 获取数据,然后在state 中设置数据... constructor(props){ super(props); this.state = { response:[] } } componentDidMount(){ axios.get('http://localhost:3001/&lt;endpoint&gt;').then((res)=&gt;{ if(res.data.status === 'S') this.setState({response:res.data.data}); }) }
    • React 版本??
    • 反应版^16.4.2
    猜你喜欢
    • 1970-01-01
    • 2022-01-01
    • 2022-09-28
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多