REACT-Switch case语句中断



我确信这是件愚蠢的事情,我几乎没有清醒,我的大脑似乎没有正常工作。

我正在react中工作,我试图使这个switch语句工作,但它弹出时出现以下错误:应为赋值或函数调用,但却看到了一个表达式(第30行-我将突出显示该行的位置(。我需要一个iframe弹出窗口,但它似乎不起作用。我试着创建一个函数并调用该函数,但还是出现了同样的错误。

const HandleOnClick = example => {
if (example ) {
if (example.assets.length > 10) {
//Not implemented yet
} else {
switch (example.assets[0].type) {
case "link":
window.open(example.assets[0].url);
break;
case "document":
<iframe src={example.assets[0].url} title="title"> //THIS IS LINE 30 WHERE IT BREAKS
</iframe>
break;
case "video":
//Not implemented
break;
default:
break;
}
}
} else {
................

尝试使用状态值来确定iframe是否显示:

case "link":
window.open(example.assets[0].url);
break;
case "document":
this.setState({ iframeUrl: example.assets[0].url }) // whatever you want to call it
break;
case "video":
//Not implemented
break;
default:
break;
}

然后在你的代码中:

{this.state.iframeUrl && (
<iframe src={this.state.iframeUrl} title="title">
</iframe>
)}

最新更新