我正在尝试在React 17的最新版本中进行条件渲染,它没有呈现,只返回。
如何才能让这个开关语句正常工作?目前它没有从我的开关语句中返回任何内容。
const Search = (props) => {
let test = 'foo';
return (
<div>
{function() {
switch(test) {
case 'foo':
return 'foo12345';
case 'bar':
return 'bar67890';
default:
return 'aaaa';
}
}
}
</div>
)
}在基于类的方法上使用函数。以后必须使用8-10条件开关语句,
发布于 2021-07-15 04:52:34
现在,您只是声明一个函数,但从未执行它。最简单的调整是:
return (
<div>
{
(function () {
switch (test) {
case 'foo':
return 'foo';
default:
return 'bar';
}
})()
}
</div>
)但更好的办法是:
return (
<div>
{
test === 'foo' ? 'foo' : 'bar'
}
</div>
)如果您有很多可能性,我会推荐一个对象或地图,它比switch更简洁、更容易出错。
const obj = {
foo: 'foo12345',
bar: 'bar67890',
// etc
};return (
<div>
{
obj[test] || 'aaaa'
}
</div>
)https://stackoverflow.com/questions/68388082
复制相似问题