我知道这不是最好的方法,但是,现在我必须解决如下问题:
无法编译,如果
,则会出现意外的令牌
<Col>
{
if (language === 'en')
{
Api.getFaqText().map(b => {
if (b.id === 1)
return <BHead textClass={b.classname} key={b.id} title={(<div dangerouslySetInnerHTML={{__html: b.title}} />)} />
})
}
}
</Col>
问题是如何在条件中决定使用哪些导入的模块函数。 Api.getFaqText
来自import Api from 'path/'
,然后会有import Y from 'path/'
,其中还有一个名为getFaqText
的函数。
如果条件如何修改这一块,以避免渲染中断?
以下要点中提供的示例无效,因为我在if
中收到了意外的令牌。
要点:https://gist.github.com/zilahir/0a7e4af0d00a067c5667110a035b5e4b
答案 0 :(得分:1)
1)使用Condition && <Component />
构造来实现您的条件
2)在地图功能中,返回null
而不是任何内容。否则你可以在map之前用户过滤。
render() {
return <Col>
{language === 'en' && Api.getFaqText().map(b => {
if (b.id === 1) {
return <BHead textClass={b.classname} key={b.id} title={(<div dangerouslySetInnerHTML={{__html: b.title}} />)} />;
} else {
return null;
}
})
}
</Col>
}