ternary-operator ''messege' in order' 返回 true,但它仍然没有在 react [duplicate] 中显示任何内容

ternary-operator `'messege' in order` returns true but it still does not show anything in react [duplicate]

提问人:Akshat Sharma 提问时间:10/29/2023 更新时间:10/30/2023 访问量:32

问:

我正在尝试打印它是否存在于对象
中,这里是
order.messegeorderconsole.logs enter image description here

          <div>
                { typeof(orderData) !== 'undefined' && orderData !== null ?
                    <div>
                        {orderData.reverse().map( (order, index) => {
                            console.log('messege' in order)
                            console.log(order)
                            { 'messege' in order ?
                                <div>
                                    <h1>{order.messege}</h1>
                                </div>
                               :
                               <div>
                                    <h1>roll back</h1>
                               </div>

                            }
                            } 
                        )}
                    </div>
                    :
                    <h1>no orders</h1>
                }
         </div>
JavaScript ReactJS javascript对象 条件运算符

评论

3赞 Titus 10/29/2023
您的函数不返回任何内容。map
0赞 Bergi 10/30/2023
你有一个块,但没有声明。不要将 JSX 语法与 JS 函数混淆return

答:

1赞 Ali Nauman 10/29/2023 #1

传递给的回调应该返回一些要为每个元素渲染的 JSX。您没有返回任何内容,因此它的计算结果为 .以下是相关问题的完整 JSX:mapundefineddiv

    <div>
      {Array.isArray(orderData) && orderData.length ? (
        <div>
          {orderData.reverse().map((order, index) => {
            console.log("messege" in order);
            console.log(order);

            return (
              <div key={index}>
                <h1>{"messege" in order ? order.messege : "roll back"}</h1>
              </div>
            );
          })}
        </div>
      ) : (
        <h1>no orders</h1>
      )}
    </div>