Javascript 传递一个在className中返回字符串的函数

Javascript 传递一个在className中返回字符串的函数,javascript,reactjs,Javascript,Reactjs,我想传递一个函数,该函数返回string,以在reactjs中通过该字符串设置元素的className 我试过这样的东西,但没有得到任何回报: className={()=>shift.spots==0?“notassigned”:“filled”}您需要调用函数 return ( <div className={(() => shift.spots === 0 ? "notassigned" : "filled")()}

我想传递一个函数,该函数返回string,以在reactjs中通过该字符串设置元素的
className

我试过这样的东西,但没有得到任何回报:


className={()=>shift.spots==0?“notassigned”:“filled”}
您需要调用函数

    return (
        <div
            className={(() => shift.spots === 0 ? "notassigned" : "filled")()}
        />
    );
返回(
shift.spots==0?“未指定”:“已填充”)()}
/>
);

或者您正在向className传递一个arrow函数。

正如JLRishe在他的评论中指出的,您不应该使用函数,而应该使用一个简单的语句

className={shift.spots === 0 ? "notassigned" : "filled"}

className={shift.spots==0?“notassigned”:“filled”}
也许吧?如果不是,为什么你想要一个函数而不仅仅是一个表达式呢?谢谢@你的答案更清楚,我以为他想用一个函数,以防他需要更多的逻辑。