带有变量 int 的无效 shorthand 属性 初始值设定项

Invalid shorthand property initializer with a variable int

当我 运行 我的代码时,出现以下错误:

无效 shorthand 属性 初始值设定项。

function DisplyayNote() {
    let noteId = -1;
    const [isOpen, setIsOpen] = useState(false);

    return isOpen ? (
        {noteId = 0 ? <div className="backComponent">
        <div className="noteOpen">
            <div>C'est ouvert</div>
            <button onClick={() => setIsOpen(false)}>Fermer</button>
        </div>
    </div> : null}
    ) : (
        <>
            <div>C'est fermé</div>
            <button onClick={() => setIsOpen(true)}>Ouvrir</button>
        </>
    );
}

你有解决这个问题的想法吗?

请将noteId = 0改为noteId === 0

简而言之,将所有东西都放在一个容器中就足够了:

return isOpen ? (
        <>
        {noteId >= 0 ?
            <div className="backComponent">
                <div className="noteOpen">
                 <div>C'est ouvert</div>
                     <button onClick={() => setIsOpen(false)}>Fermer</button>
                </div>
            </div> : null}
        </>
    ) : (
        <>
            <div>C'est fermé</div>
            <button onClick={() => setIsOpen(true)}>Ouvrir</button>
        </>
    );

首先,不需要添加{。其次,将 note_id=0 更改为 note_id==0note_id===0,因为 note_id=0 不是布尔表达式。我已经使用下面的代码片段对其进行了测试并且其工作正常。

function DisplyayNote() {
    let noteId = 0;
    const [isOpen, setIsOpen] = useState(false);

    return isOpen ? (

        noteId == 0 ? <div className="backComponent">
            < div className="noteOpen" >
                <div>C'est ouvert</div>
                <button onClick={() => setIsOpen(false)}>Fermer</button>
            </div >
        </div > : null

    ) : (
        <>
            <div>C'est fermé</div>
            <button onClick={() => setIsOpen(true)}>Ouvrir</button>
        </>
    );
};