Javascript 显示动态文本+;组件
我的回报是有条件的。我需要显示一个带有导入组件的动态文本。如果我一个接一个地使用;没关系!但当把它们一起使用时,我会犯错误。我怎么了?我该怎么办Javascript 显示动态文本+;组件,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我的回报是有条件的。我需要显示一个带有导入组件的动态文本。如果我一个接一个地使用;没关系!但当把它们一起使用时,我会犯错误。我怎么了?我该怎么办 return ( ... <div className="ini-dialog-content"> { this.state.dialog_handShaking && (txt.credentialcheck.msg).replace('$$', this.state.clientnet.mac
return (
...
<div className="ini-dialog-content">
{ this.state.dialog_handShaking &&
(txt.credentialcheck.msg).replace('$$', this.state.clientnet.mac)
<CircularProgress className={classes.progress} style={{ color: purple[500] }} thickness={1} />
}
...
</div>
)
返回(
...
{this.state.dialog_握手&&
(txt.credentialcheck.msg)。替换(“$$”,this.state.clientnet.mac)
}
...
)
您使用的不是三元运算符,而是逻辑AND运算符(但这两种运算符都适用)。运算符后面必须跟有表达式,在您的情况下,该表达式仅是带有replace
语句的第一行。您需要使用元素将其包装:
{ this.state.dialog_handShaking &&
<div>
(txt.credentialcheck.msg).replace('$$', this.state.clientnet.mac)
<CircularProgress className={classes.progress} style={{ color: purple[500] }} thickness={1} />
</div>
}
{this.state.dialog_握手&&
(txt.credentialcheck.msg)。替换(“$$”,this.state.clientnet.mac)
}
或者更适合react的:
{this.state.dialog_握手&&
(txt.credentialcheck.msg)。替换(“$$”,this.state.clientnet.mac)
}
谢谢@madox2。但当我这样做时,我会收到一条警告:“不能作为的后代出现”@user3188348,然后用其他元素(例如span
)或Fragment
将其包装,但我也会收到同样的警告。
{ this.state.dialog_handShaking &&
<React.Fragment>
(txt.credentialcheck.msg).replace('$$', this.state.clientnet.mac)
<CircularProgress className={classes.progress} style={{ color: purple[500] }} thickness={1} />
</React.Fragment>
}