【发布时间】:2019-10-28 08:56:58
【问题描述】:
我正在尝试获取一个下拉菜单来显示用户从上一页中选择的主题的名称(目前,它默认为“主题”)。
虽然我能够在控制台中获取 $r.state.topics[$r.state.topicSelected].name,但在我的代码中输入 this.state.topics[this.state.topicSelected].name 时出现未定义的错误。
所以,我尝试使用条件渲染将“主题”作为默认渲染,而主题本身是通过获取请求收集的。
<select
value={this.state.topicSelected}
onChange={this.onTopicClick}
className="sort"
data-element>
{
// Add this option in the .then() when populating siteCategories()
[<option key={this.state.topicSelected}
value={this.state.topicSelected}>({if
(this.state.topics[this.state.topicSelected].name == undefined) {
'Topics'
} else {
this.state.topics[this.state.topicSelected].name
}})
</option>].concat(
this.state.topics.map(function (topic) {
return (<option
key={topic.id}
value={topic.id}>{topic.name}</option>);
}))
}
</select>
我遇到了一个意外的令牌错误,但我尝试了各种语法组合但没有成功 - 如何正确运行这种条件格式?
【问题讨论】:
-
这是什么,
$r?你是说this -
是的,$r 是您在 chrome 上的 react 开发工具中获得
this的方式
标签: reactjs conditional-rendering