Javascript 如何编写if/else函数?

Javascript 如何编写if/else函数?,javascript,if-statement,Javascript,If Statement,我的购物车有一个功能,当“数据”传递到购物车时,它会显示产品列表,但当没有可用的“数据”时,我希望购物车返回“空购物车”。我可以用if/else语句来实现这一点吗?代码如下 const propductList = (data) =>{ console.log(data) setTotal(data) } 我想我想做的是这样的事情 const productList = (data) =>{ console.log(data) if (data)

我的购物车有一个功能,当“数据”传递到购物车时,它会显示产品列表,但当没有可用的“数据”时,我希望购物车返回“空购物车”。我可以用if/else语句来实现这一点吗?代码如下

const propductList = (data) =>{
      console.log(data)
       setTotal(data)
    }
我想我想做的是这样的事情

const productList = (data) =>{
console.log(data)
if (data) setTotal
} else return "Empty Cart"
}
完整代码如下:

import React, { useState } from 'react'
import { useDispatch } from 'react-redux';
import {
    removeCartItem,
    onSuccessBuy
} from '../../../_actions/user_actions';
import UserCardBlock from './Sections/UserCardBlock';
import { Result, Empty, Button } from 'antd';
import Paypal from '../../utils/Paypal';



function CartPage(props) {
    const dispatch = useDispatch();
    console.log(props)
    const [Total, setTotal] = useState(props.location.state.data.price)
    const [ShowTotal, setShowTotal] = useState(true)
    const [ShowSuccess, setShowSuccess] = useState(false)
    
    const removeFromCart = (productId) => {
        dispatch(removeCartItem(productId))
            }
        
    const transactionSuccess = (data) => {
        dispatch(onSuccessBuy({
            cartDetail: props.user.cartDetail,
            paymentData: data
        }))
            .then(response => {
                
                    setShowSuccess(true)
                    setShowTotal(false)
                }
            )
    }

    const transactionError = () => {
        console.log('Paypal error')
    }

    const transactionCanceled = () => {
        console.log('Transaction canceled')
    }
    const propductList = (data) =>{
      console.log(data)
       setTotal(data)
    }
    return (
        <div style={{ width: '85%', margin: '3rem auto' }}>
            <h1>My Cart</h1>
            <div>
            {props.location.state.data &&
        <UserCardBlock
          productData={props.location.state.data}
          removeItem={removeFromCart}
          productList={data => propductList(data)}
        />
}
 {ShowTotal ? (
          <div style={{ marginTop: "3rem" }}>
            <h2>Total amount: ${Total * 15} </h2>
          </div>
        ) : ShowSuccess ? (
          <Result status="success" title="Successfully Purchased Items" />
        ) : (
          <div
            style={{
              width: "100%",
              display: "flex",
              flexDirection: "column",
              justifyContent: "center",
            }}
          >
            <br />
            <Empty description={false} />
            <p>No Items In The Cart</p>
          </div>
        )}
      </div>

            {/* Paypal Button */}

            {ShowTotal &&
                <Paypal
                    toPay={Total}
                    onSuccess={transactionSuccess}
                    transactionError={transactionError}
                    transactionCanceled={transactionCanceled}
                />
            }
        </div>
    )
}

export default CartPage
import React,{useState}来自“React”
从'react redux'导入{useDispatch};
进口{
移除部件,
onSuccessBuy
}来自“../../../../u操作/用户操作”;
从“./Sections/UserCardBlock”导入UserCardBlock;
从“antd”导入{Result,Empty,Button};
从“../../utils/Paypal”导入Paypal;
功能页(道具){
const dispatch=usedpatch();
控制台日志(道具)
const[Total,setTotal]=useState(props.location.state.data.price)
常量[ShowTotal,setShowTotal]=useState(真)
常量[ShowSuccess,setShowSuccess]=useState(false)
const removeFromCart=(productId)=>{
调度(删除部件(产品ID))
}
const transactionSuccess=(数据)=>{
发送(onSuccessBuy)({
cartDetail:props.user.cartDetail,
paymentData:数据
}))
。然后(响应=>{
setShowSuccess(真)
setShowTotal(假)
}
)
}
常量事务错误=()=>{
console.log('Paypal错误')
}
const TransactionCancelled=()=>{
console.log('事务已取消')
}
常量propductList=(数据)=>{
console.log(数据)
setTotal(数据)
}
返回(
我的手推车
{props.location.state.data&&
propductList(数据)}
/>
}
{ShowTotal(
总额:${Total*15}
):展示成功(
) : (

购物车中没有物品

)} {/*贝宝按钮*/} {ShowTotal&& } ) } 导出默认CartPage
您可以这样做:

const productList = (data) =>{
    if (data) return setTotal(data)
    else return "Empty Cart"
}
甚至在三元运算符中更短:

const productList = (data) =>{
    return data ? setTotal(data) : 'Empty Cart';
}
甚至更短,直接将三元数作为返回:

const productList = data => data ? setTotal(data) : 'Empty Cart';

什么是setTotal方法?是useState吗?看,是的,是useState谢谢。它并不是说productList现在还没有定义。有没有办法解决这个问题?