我目前在使用多个三元运算符渲染组件时遇到问题。
这是我的代码:
{data.shippingData ? (
<CheckoutPayment data={data} setData={setData} />
) : data && data.agree === true ? (
console.log("Hello World")
) : (
<CheckoutShipping setData={setData} />
)}
和组件成功渲染没有问题<CheckoutPayment />,<CheckoutShipping />问题在于必须使用此条件渲染另一个组件data && data.agree === true。在上面的代码中,我尝试使用console.log记录“Hello World”但无济于事。
以下是数据模型在以下结构中的结构<CheckoutPayment />:
{shippingData: {firstName, lastName, streetAddress, state, city, phoneNumber }, agree: true}
我将<CheckoutPayment />组件中的数据带入了全局状态,我必须将数据传递给另一个组件。
数据在该州可用。事实上,我console.log通过数据来确认它是否存在。
我想实现的是:
- 如果
shippingData在数据对象中有我想渲染<CheckoutPayment />,如果 - 在
shippingData and agree我想要的数据对象中console.log("Hello World")有 - 使成为
<CheckoutShipping />
我的问题是,有没有一种方法我可能滥用了三元运算符,或者我没有做对。