【发布时间】:2021-11-15 17:31:06
【问题描述】:
我目前在使用多个三元运算符渲染组件时遇到问题。
这是我的代码:
{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")else - 渲染
<CheckoutShipping />
我的问题是,有没有一种方法我可能误用了三元运算符,或者我没有做对。
【问题讨论】:
标签: javascript reactjs