Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript if语句在检查时不执行任何操作_Javascript_Reactjs_Jsx - Fatal编程技术网

Javascript if语句在检查时不执行任何操作

Javascript if语句在检查时不执行任何操作,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我正在制作一个照片滑块,但是if语句不起作用。。。我有两个if语句。一个if语句工作正常,而另一个if语句什么也不做 代码: import React,{useState}来自“React” 导出常量幻灯片=()=>{ const partners=[“/partners/logo_wp.jpg”、“/partners/logo_van_leeuwen.png”、“/partners/logo_kennelservices.png”、“/partners/logo_beckhuis.jpg”、“

我正在制作一个照片滑块,但是if语句不起作用。。。我有两个if语句。一个if语句工作正常,而另一个if语句什么也不做

代码:

import React,{useState}来自“React”
导出常量幻灯片=()=>{
const partners=[“/partners/logo_wp.jpg”、“/partners/logo_van_leeuwen.png”、“/partners/logo_kennelservices.png”、“/partners/logo_beckhuis.jpg”、“/partners/logo_kabeldirect.png”、“/partners/logo_kremer.png”];
常量[currentImage,setCurrentImage]=使用状态(0);
返回(
{partners.map(partner=>
)}
{(() => {
如果(!currentImage
)
}
})()}
{(() => {
如果(!currentImage>=partners.length){
返回(
setCurrentImage(currentImage+1)}>
)
}
})}
{(currentImage+1)+'/'+partners.length}
)
};

这是我的密码。最后一个if语句不执行任何操作。我希望有人能找出错误发生的地方。提前感谢。

如果您不将组件作为默认值导出,则无法默认导入它。 您可以将其作为导入

import {SlideShow} from 'SlideShow';     
或者将其导出为默认值

const Slideshow = () => {
    const partners = ["/partners/logo_wp.jpg", "/partners/logo_van_leeuwen.png",     "/partners/logo_kennelservices.png", "/partners/logo_beckhuis.jpg",     "/partners/logo_kabeldirect.png", "/partners/logo_kremer.png"];

const [currentImage, setCurrentImage] = useState(0);

return (
    <div style={{position: "relative"}}>
        <div style={{
            display: "flex",
            transform: `translateX(-${currentImage * 100}%)`,
            transition: "transform .25s ease"
        }}>
            {partners.map(partner => <div
                style={{flexBasis: "33.333%", flexShrink: 0, display: "flex", justifyContent: "center"}}>
                <img src={partner} style={{
                    height: '120px'
                }}/>
            </div>)}
        </div>

        {(() => {
            if (!currentImage <= 0) {
                return (
                    <button className={'prev-photo'}
                            style={{position: "absolute", left: 0, top: "50%", transform: 'scale(2)'}}
                            onClick={() => setCurrentImage(currentImage - 1)}>&lt;
                    </button>
                )
            }
        })()}

        {(() => {
            if (!currentImage >= partners.length) {
                return (
                    <button className={'next-photo'}
                            style={{position: "absolute", right: 0, top: "50%", transform: 'scale(2)'}}
                            onClick={() => setCurrentImage(currentImage + 1)}>&gt;</button>
                )
            }
        })}

        <div style={{textAlign: 'center'}}>
            {(currentImage + 1) + '/' + partners.length}
        </div>
    </div>
)
};

export default Slideshow;

似乎您没有执行包含第二条
if
语句的函数

尝试在末尾添加一个
()
,使其成为

{(()=>{
如果(!currentImage>=partners.length){
返回(
setCurrentImage(currentImage+1)}>
)
}
})()}

嗨,这个答案很有效

请参阅代码直播:

您需要在右箭头的JSX函数末尾添加
()

也可以使用此条件

if (currentImage < partners.length-1) {

您遇到了什么错误?@MuhammadHaseeb警告“导出”默认值(导入为“幻灯片放映”)在警告“导出”默认值(导入为“幻灯片放映”)中找不到;警告“导出”默认值(导入为“幻灯片放映”)中找不到在您是如何导入的
Slideshow
中找不到,可能是您正在使用类似的
import Slideshow from'../../
,请尝试作为
import{Slideshow}从'../../../..//code>@akhilarvind import{Slideshow}导入从“../components/slideshow”删除if块并检查是否可以渲染没有任何更改的组件我已更新了答案,您没有将组件作为默认值导出,这就是问题所在。我已经导入了我的组件。他显示了我的滑块和箭头,但如果这是我的最后一张照片,我不希望箭头正确。当您在最后一张照片的长度是6,对吗?currentImage的值是多少?这正是我现在所做的。长度是5,因为const partners中有6张照片。非常感谢!这张照片帮助了我!我只将33.333%更改为100%
(!currentImage > partners.length)
if (currentImage < partners.length-1) {
if (currentImage > 0) {