简体   繁体   English

我不能在React上实现Lightbox Gallery

[英]I can't implement a Lightbox Gallery on React

I'm follow the steps of this dependencie: http://jossmac.github.io/react-images/ 我正在遵循这种依赖关系的步骤: http : //jossmac.github.io/react-images/

And it isn't work. 这是行不通的。 No picture showing and there is showing an error message: 没有图片显示,并且显示错误消息:

index.js:2178 Warning: Failed prop type: The prop onClose is marked as required in Lightbox , but its value is undefined index.js:2178警告:道具类型失败:道具onCloseLightbox标记为必需,但其值undefined

Here is my code: 这是我的代码:

import React, { Component } from "react";
import Lightbox from "react-images";

const URL_INTERIORES = "http://localhost:3001/interiores";

const LIGHTBOX_IMAGE_SET = [
  {
    src: "/images/int_02.jpg",
    caption: "A forest",
    // As an array
    srcSet: ["/images/int_02.jpg", "/images/int_02.jpg"]
  },
  {
    src: "/images/int_02.jpg",
    // As a string
    srcSet: "/images/int_02.jpg 1024w, /images/int_02.jpg 800w, /images/int_02.jpg 500w, /images/int_02.jpg 320w"
  }
];

class Interiores extends Component {
  render() {
    const { open } = this.state;
    return (
      <div>
        <div>
          <Lightbox
            images={LIGHTBOX_IMAGE_SET}
            isOpen={this.state.lightboxIsOpen}
            onClickPrev={this.gotoPrevLightboxImage}
            onClickNext={this.gotoNextLightboxImage}
            onClose={this.closeLightbox}
          />
        </div>
      </div>
    );
  }
}

export default Interiores;

Does anybody know how to solve it? 有人知道如何解决吗? Tahnk you 谢谢你

Consider adding all the missing handlers & state in your class: 考虑在类中添加所有缺少的处理程序和状态:

class Interiores extends Component {
  state = {
     lightboxIsOpen: false
  }
  gotoPrevLightboxImage() {
     // Add the logic here
  }
  gotoNextLightboxImage() {
     // Add the logic here
  }
  closeLightbox(e) {
     // Add the logic here
  }
  render() {
    const { lightboxIsOpen } = this.state;
    return (
        <div>
          <Lightbox
            images={LIGHTBOX_IMAGE_SET}
            isOpen={lightboxIsOpen}
            onClickPrev={() => this.gotoPrevLightboxImage()}
            onClickNext={() => this.gotoNextLightboxImage()}
            onClose={e => this.closeLightbox(e)}
          />
        </div>
    );
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM