这是否仅适用于外部 URL 而不是本地?
Is this only possible with external URLs and not local?
我正在尝试使用 react-images 创建一个照片库,URL 是正确的,但照片本身没有加载到我的网络应用程序中。将 modalIsOpen:false
切换为 true 时出现损坏的图像图标。
我尝试查找相同问题和替代方案的示例,例如组件是否配置正确或者我是否在 class 中正确扩展它。
import React, { Component } from 'react';
import Carousel, { Modal, ModalGateway } from 'react-images';
import blksmith from '../images/gallery/illustration/Blacksmith.jpg';
import mage from '../images/gallery/illustration/Mage.jpg';
const images =
[
{
src:{blksmith}
} ,
{
src:{mage}
}
];
class illuGallery extends Component {
state = { modalIsOpen: false }
toggleModal = () => {
this.setState(state => ({ modalIsOpen: !state.modalIsOpen }));
}
render() {
const { modalIsOpen } = this.state;
return (
<ModalGateway>
{modalIsOpen ? (
<Modal onClose={this.toggleModal}>
<Carousel
views={images}
/>
</Modal>
) : null}
</ModalGateway>
);
}
}
export default illuGallery;
这是在实际的 gallery.js 文件中,即呈现画廊的网页。
import React from 'react';
import Layout from "../components/layout";
import IlluPhotos from "../components/illustrationGallery";
import SEO from "../components/seo";
import './gallery.scss';
const GalleryPage = () => {
return (
<Layout>
<div style={{width:'100%',height:'250px'}}>
<SEO title="Gallery" />
<IlluPhotos/>
</div>
</Layout>
)
}
export default GalleryPage;
我正在寻求一些关于如何让它工作的反馈,我做错了什么,或者我应该进一步探索什么。
您不需要导入图片。
根据 react-images documentation,您只需将图像路径作为字符串传递给 <Carousel>
组件,如下例所示:
import React from 'react';
import Carousel from 'react-images';
const images = [{ src: 'path/to/image-1.jpg' }, { src: 'path/to/image-2.jpg' }];
class Component extends React.Component {
render() {
return <Carousel views={images} />;
}
}
所以我最终将我想要的图片添加到 public 文件夹中,如本
中进一步提到的
因为 https://localhost:8000
出现在我想使用的图片链接的前面。
谢谢大家帮我找到答案!!
我正在尝试使用 react-images 创建一个照片库,URL 是正确的,但照片本身没有加载到我的网络应用程序中。将 modalIsOpen:false
切换为 true 时出现损坏的图像图标。
我尝试查找相同问题和替代方案的示例,例如组件是否配置正确或者我是否在 class 中正确扩展它。
import React, { Component } from 'react';
import Carousel, { Modal, ModalGateway } from 'react-images';
import blksmith from '../images/gallery/illustration/Blacksmith.jpg';
import mage from '../images/gallery/illustration/Mage.jpg';
const images =
[
{
src:{blksmith}
} ,
{
src:{mage}
}
];
class illuGallery extends Component {
state = { modalIsOpen: false }
toggleModal = () => {
this.setState(state => ({ modalIsOpen: !state.modalIsOpen }));
}
render() {
const { modalIsOpen } = this.state;
return (
<ModalGateway>
{modalIsOpen ? (
<Modal onClose={this.toggleModal}>
<Carousel
views={images}
/>
</Modal>
) : null}
</ModalGateway>
);
}
}
export default illuGallery;
这是在实际的 gallery.js 文件中,即呈现画廊的网页。
import React from 'react';
import Layout from "../components/layout";
import IlluPhotos from "../components/illustrationGallery";
import SEO from "../components/seo";
import './gallery.scss';
const GalleryPage = () => {
return (
<Layout>
<div style={{width:'100%',height:'250px'}}>
<SEO title="Gallery" />
<IlluPhotos/>
</div>
</Layout>
)
}
export default GalleryPage;
我正在寻求一些关于如何让它工作的反馈,我做错了什么,或者我应该进一步探索什么。
您不需要导入图片。
根据 react-images documentation,您只需将图像路径作为字符串传递给 <Carousel>
组件,如下例所示:
import React from 'react';
import Carousel from 'react-images';
const images = [{ src: 'path/to/image-1.jpg' }, { src: 'path/to/image-2.jpg' }];
class Component extends React.Component {
render() {
return <Carousel views={images} />;
}
}
所以我最终将我想要的图片添加到 public 文件夹中,如本
因为 https://localhost:8000
出现在我想使用的图片链接的前面。
谢谢大家帮我找到答案!!